我正在尝试在图片中风力涡轮机。为了简化此操作,我尝试删除一些基本的颜色(天空为蓝色,地面为绿色)的背景。但是看来我的面具总是全黑的。我在做什么错了?
亲切的问候
Mat HSV, mask, outputHSV;
// Convert from BGR to HSV colorspace
cv::cvtColor(frame,HSV, COLOR_BGR2HSV);
int low_H = 220, low_S = 60, low_V = 90;
int high_H = 240, high_S = 100, high_V = 100;
// Detect the object based on HSV Range Values
inRange(HSV, Scalar(low_H, low_S, low_V), Scalar(high_H, high_S, high_V), mask);
// creating an inverted mask to segment out the cloth from the frame
bitwise_and(frame,HSV,outputHSV,mask = mask);
cv::imshow("HSV_filter", outputHSV);
答案 0 :(得分:1)
您不需要设置v通道的阈值。只需玩色相和饱和度 HSV颜色空间使用三个值表示颜色
色调:此通道编码颜色信息。色调可以认为是0度对应于红色,120度对应于绿色,240度对应于蓝色的角度。
饱和度:此通道编码颜色的强度/纯度。例如,粉红色的饱和度不如红色。
值:此通道编码颜色的亮度。图像的阴影和光泽分量会出现在此通道中。
int low_H = 220, low_S = 60, low_V = 0;
int high_H = 240, high_S = 100, high_V = 255;