如何在图像检测和单独的像素
16个视图(30天)
显示旧的评论
我想要一个图像和检测像素是绿色的,我已经完成了。但我也想要保持他们的颜色和宽大的他们,这样我就可以把剩下的图像并将其转换为灰度。这是我目前检测绿色像素的代码:
函数[结果]= detectGreen (rgbimage)
%设置阈值色调的绿色通道
GREEN_THRESHOLD = [65170] / 360;
强度= 1;
%将图像转换为HSV颜色空间
hsv = rgb2hsv (rgbimage);
%找到有关区域的像素范围内的H和V频道
greenMask = hsv (:: 1) > GREEN_THRESHOLD (1) & hsv (:,: 1) < GREEN_THRESHOLD (2) & hsv(:,:, 3) >强度;
%返回绿色像素
结果= greenMask;
结束
目前,这需要彩色图像和处理它就像第二个图片:
有,我可以保持这些检测到的绿色像素,这样我就可以把整幅图像灰度和覆盖发现白色的上面,这样唯一的颜色是绿色的吗?
0评论
接受的答案
Subhadeep Koley
2021年5月6日
rgbImg = imread (“image.png”);
grayImg = rgb2gray (rgbImg);
greenMask = detectGreen (rgbImg);
图
imshow (rgbImg);
持有在
汉= imshow (grayImg);
持有从
集(汉、“AlphaData”~ greenMask);