找到一个特定的颜色在图片。

126(30天)
阿尔曼Yaraee
阿尔曼Yaraee 2011年11月4日
移动: 为副总经理 2023年2月12日
嘿,伙计们。这是我的方法,但它不工作:
我= imread (“img.jpg”);
n = 1;
图中,imshow (im)
(x, y) = ginput (n);
x =地板(x);
y =地板(y);
颜色= im (x, y:);
(r、c、t) = (im)大小;
R =颜色(1 1 1);
G =颜色(1,1,2);
B =颜色(1,1,3);
RGB = [R G B];
红色= im (:,: 1);
绿色= im (:,:, 2);
蓝色= im (:,:, 3);
% (i1 j - 1) =找到(红色= =颜色(:,:1));
% (i2 j2) =找到(绿色= =颜色(:,:2));
% [:i3 j3] =找到(蓝色= =颜色(:,:,3));
我[j] =找到(im = =颜色);%这是主要的问题
我得到错误:阵列尺寸必须匹配二进制数组相机会我也想知道如果有一种方法可以找到颜色接近我,而不是精确匹配。

答案(3)

沃尔特·罗伯森
沃尔特·罗伯森 2011年11月4日
我[j] =找到(所有(im = = repmat(颜色、r、c, 3), 3));
这就是为什么更容易呢
我[j] =找到(红色= = R & &绿= = G & &蓝= = B);
发现颜色的困难“关闭”到一个特定的颜色,在定义颜色“关闭”意味着什么。medium-bright红色“接近”亮红色,还是medium-bright红色“接近”medium-bright紫色?
任意的一种方式,是其他任何有意义的:
我[j] =找到(√(双(红色)- R) ^ 2 +(双(绿色)- G) ^ 2 +(双(蓝色)- B) ^ 2) < = COLORTOLERANCE);

图像分析
图像分析 2011年11月5日
是的,这是一个可怕的方式。试试我的颜色分割演示。我有一些不同的(更好的)方法。

evin2165
evin2165 2016年6月7日
如何在matlab中检测常见的rgb值? ?
6个评论
Valeriy
Valeriy 2021年6月2日
移动:为副总经理 2023年2月12日
>是的,正如我想。我几乎可以肯定,你要做的并不是你真正想要或需要做的事情。
当然,这仅仅是任务的一部分。现在你知道。
>请把原始图像,连同一个标记/注释说形象的哪些部分你想找和测量。
我附上图片的一部分,必要的分析。蓝色通道部分饱和,但这是测试图像阐述正确的程序。完整的图像大于允许5 Mb。
>和斑点的数量是相同的在所有你的照片还是有所不同?
它是变量,不同的不同的图像。
>有斑点尺寸范围,或者他们能从一个单个像素到整个图像区域吗?
从附加的例子中,你可以看到斑点大小是可变的,甚至更糟的是,现货的边界是不确定的,不是“集中”。所以将“云”不会有锋利的边界
对不起推迟我的回复。我占领了测试版本与循环以及独特的颜色。不幸的是,它也是相当长。为330 k独特的颜色和图片像我附加了~ 12小时计算。330 k的颜色对应于相似的价值,哪种颜色检查员3 d显示,所以我相信,我估计现在独特的颜色数量是正确的。
我想等独特的颜色列表重复值低的过滤1 . .3、组织循环仅为更高的价值。希望这将减少计算时间,因为这样的扫描花大部分的时间如此低的值。
我欣赏你宝贵的帮助和讨论,谢谢。

登录置评。

类别

找到更多的在图片帮助中心文件交换

社区寻宝

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

开始狩猎!

翻译的