当前位置: 首页 > 知识库问答 >
问题:

如何计算图像是否为红色?

禹昆
2023-03-14

我的路上有一些照片。

我的程序必须计算有多少图片是红色的。

我开始循环,但我困惑于如何检测图片是否有红色。

以下是我的循环:

sdirectory = 'E:\SEMESTER 7\Computer Vision\Tugas\UAS - Pencocokan Objek';
namafile = dir([sdirectory '/*.jpg']);
jml_obj = []
for k = 1:length(namafile)
    filename = [sdirectory '/' namafile(k).name];
    img = imread(filename);
    red = img(:,:,1);
    if(size(img,3)==3) %i think here is the key
        jml_obj=[jml_obj 1]
    else
        jml_obj=[jml_obj 0]
    end
end
jml_obj;
jumlah=sum(jml_obj);
textLabel1=  sprintf('Jumlah %i ',jumlah);
set(handles.jml, 'String', textLabel1);

共有1个答案

於永寿
2023-03-14

如果你在彩色图像中阅读,那么所有图像都将有红色、绿色和蓝色通道,因此大小(img,3)将始终等于3。实际上,你必须检查每个图像的像素内容,以确定它是否有红色。

但在此之前,你必须定义一个像素变成红色意味着什么。你说的是近似红色,还是像RGB(255,0,0)那样的纯红色?一旦你有了红色的定义,你可以循环每个图像的像素,并检查是否至少有一个像素符合你的定义。如果有,那么你可以增加你的计数器。

 类似资料:
  • 我正在使用jQuery创建一个图片库。是否有任何可能性使用jQuery计算图像是风景还是肖像? 感谢您的支持。

  • 在深入研究CSS单元时,我遇到了参考像素的定义。然而,我无法找到一个关于它与CSS像素单元的关系的一致和全面的描述。我对这件事做了一些研究,但对我来说还是有点不清楚。 像素有两种不同的类型/定义: “设备像素”-显示器上的单个物理点。 和: CSS像素-与参考像素最匹配的单位。[1] 两个名字相同的平行概念绝对不能澄清混淆。我完全明白介绍第二个的目的,但我觉得它的命名有误导性。CSS像素被分类为绝

  • 在我的场景中,我从一个设备获取屏幕(它只产生tiff图像),并将其传输到jpeg并通过网络发送到客户端(客户端只支持jpeg编码) 根据设备的分辨率,设备要生成图像需要10毫秒到1秒的时间(请注意,在这一侧不能做任何更改,它只生成tiff图像),大小为3 MB到12 MB取决于分辨率。 现在将图像转换为JPEG需要一些时间。我的问题是,我们可以使用GPU的能力转换图像从tiff到JPEG,以便我可

  • 问题内容: 我正在使用JAI并使用以下文件创建文件: 我在该行之前检查文件是否存在。但是,如何检查文件是.bmp还是.tiff还是图像文件? 有人知道吗? 问题答案: Image Magick项目具有识别图像的功能,并且有一个用于Image Magick的Java包装器,称为JMagick,我认为您可能需要考虑而不是重新发明轮子: http://www.jmagick.org 我一直在使用Imag

  • 问题内容: 有没有办法确保收到的文件中包含图像? 对扩展程序的测试对我来说并不十分安全,因为您可以上传一个并将其扩展名更改为所需的扩展名。 我也尝试使用,但是可能有一些更适合该特定问题的东西。 问题答案: 获取mimetype的本机方法: 对于PHP <5.3,请使用mime_content_type()对于PHP> = 5.3,请使用finfo_open()或mime_content_type(

  • 问题内容: 我试图确定图像是否是简单的黑白图像,或者是否具有颜色(使用Java)。如果它有颜色,我需要向用户显示一条警告消息,说颜色将丢失。 问题答案: 所述的BufferedImage类有一个方法即返回整数表示像素的(x,y)处的颜色六角(和另一方法,该方法返回像素的矩阵)。由此可以得到r,g和b值,如下所示: 然后检查图像中每个像素的像素是否均相等。如果每个像素的r == g == b,那么它