如何在图像检测和单独的像素

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;
结束
目前,这需要彩色图像和处理它就像第二个图片:
有,我可以保持这些检测到的绿色像素,这样我就可以把整幅图像灰度和覆盖发现白色的上面,这样唯一的颜色是绿色的吗?

接受的答案

Subhadeep Koley
Subhadeep Koley 2021年5月6日
rgbImg = imread (“image.png”);
grayImg = rgb2gray (rgbImg);
greenMask = detectGreen (rgbImg);
imshow (rgbImg);
持有
汉= imshow (grayImg);
持有
集(汉、“AlphaData”~ greenMask);

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!