- 一、原理
- 二、代码实现
一、原理
将不感兴趣区域像素值置为0,感兴趣区域像素值不变。
方法:使用查找表将感兴趣区域置为1,感兴趣区域像素值置为0。然后与原图相乘。
二、代码实现
代码如下(示例):
#include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" #include#include using namespace cv; using namespace std; int main(int argc, char* argv) { Mat src = imread("1000.jpg",IMREAD_GRAYSCALE); if (!src.data) { cout << "图像为空" << endl; return -1; } Mat lut(Size(1,256),CV_8UC1); uchar* p = lut.ptr(); for (int i = 0; i < 256; i++) { if (i<100) p[i] = 0; else p[i] = 1; } Mat src_bin; LUT(src,lut, src_bin); Mat reduce; multiply(src,src_bin, reduce); imshow("reduce", reduce); waitKey(); }



