Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用opencv分割和屏蔽图像中的所有红色阴影_Opencv - Fatal编程技术网

使用opencv分割和屏蔽图像中的所有红色阴影

使用opencv分割和屏蔽图像中的所有红色阴影,opencv,Opencv,我正在尝试使用色调饱和度值分割图像中的所有红色阴影,并使用InRangeS函数创建一个遮罩,该遮罩应使所有红色区域变白,所有其他区域变黑(一个新的单通道图像)。修复它们,使分割的部分变得模糊。 我的代码是给定的。 但是我无法获得输出图像,它无法分割所需的颜色范围 对我的方法有什么建议吗?为什么不起作用 int main(){ IplImage *img1=cvLoadImage("/home/techrascal/projects/test1/image2.jpeg"); //IplImage

我正在尝试使用色调饱和度值分割图像中的所有红色阴影,并使用InRangeS函数创建一个遮罩,该遮罩应使所有红色区域变白,所有其他区域变黑(一个新的单通道图像)。修复它们,使分割的部分变得模糊。 我的代码是给定的。 但是我无法获得输出图像,它无法分割所需的颜色范围

对我的方法有什么建议吗?为什么不起作用


int main(){
IplImage *img1=cvLoadImage("/home/techrascal/projects/test1/image2.jpeg");
//IplImage *img3;
IplImage *imghsv;
IplImage *img4;
CvSize sz=cvGetSize(img1);

imghsv=cvCreateImage(sz,IPL_DEPTH_8U,3);
img4=cvCreateImage(sz,IPL_DEPTH_8U,1);
int width = img1->width;
int height = img1->height;
int bpp = img1->nChannels;
//int w=img4->width;
//int h=img4->height;
//int bn=img4->nChannels;
cvNamedWindow("original", 1);
cvNamedWindow("hsv",1);
cvNamedWindow("Blurred",1);
int r,g,b;




// create inpaint mask: img 4 will behave as mask
cvCvtColor(img1,imghsv,CV_BGR2HSV);
CvScalar  hsv_min = cvScalar(0, 0, 0, 0);
CvScalar  hsv_max = cvScalar(255, 0, 0, 0);
//cvShowImage("hsv",imghsv);
cvInRangeS( imghsv, hsv_min, hsv_max, img4 );
cvInpaint(img1, img4, img1, 3,CV_INPAINT_NS );
cvShowImage("Blurred",img1);
    cvReleaseImage(&img1);
    cvReleaseImage(&imghsv);
cvReleaseImage(&img4);
//cvReleaseImage(&img3);
char d=cvWaitKey(10000);
cvDestroyAllWindows();

    return 0;}

您的代码逻辑似乎正确,但您肯定需要调整hsv范围值 (hsv_最小值和hsv_最大值)

阅读本详细指南,该指南向您展示opencv中定义的hsv范围