永发信息网

如何利用opencv对图像

答案:1  悬赏:40  手机版
解决时间 2021-01-06 18:14
  • 提问者网友:抽煙菂渘情少年
  • 2021-01-06 04:40
如何利用opencv对图像
最佳答案
  • 五星知识达人网友:行雁书
  • 2021-01-06 05:47
打开小画家,将色卡打开,点击吸管工具,移动鼠标到红色块上方,松开鼠标,此时,吸管工具已经提取了红色色块信息。然后点击右方的“编辑颜色”,弹出颜色选择对话框,此时,右下角有刚才习惯的红绿蓝颜色信息,如红152,绿18,蓝15。这个就是颜色对应的RGB色彩值。
创建VC控制台工程,加入所需头文件和库文件。注意要事先将opencv 头文件和库文件添加到工程属性中,作者使用opencv2.4+VC2010示范。
#include
#include
#include
#include
#include
#include
#pragma comment (lib,"opencv_core244d.lib")
#pragma comment (lib,"opencv_highgui244d.lib")
#pragma comment (lib,"opencv_imgproc244d.lib")
定义一个颜色常量target,默认值即为刚才吸管工具提取的红色色块的RGB值分量,和一个计算与颜色标准值色差的函数,暂定为色差在10以内即为相近颜色。这里cv::Vec3b 变量对应一个数组值, Vec3b[0] 对应blue,Vec3b[1]对应green,Vec3b[2]对应Red,即BGR。
接着添加以下代码,目的为读取源图片,根据图片大小做一定的缩放,然后定义同样大小的一个灰度图,用于存贮计算结果值。核心算法如下,遍历源图片,色差(与红色色块比较)低于30的即为需要提取的颜色值,将此像素位置记录并写入到灰度图中,以黑色显示,否则设置为白色。然后将处理前后图片显示出来。


5
实际商业应用中也是可以如法炮制的,比如下图的药片,大小,颜色不统一,如何提取识别黄色小药片在何处或计算其数量呢。
笔者尝试使用吸管工具提取其BGR值为(22,184,245),将色差由10调整为30,可以正确检测此药片。如图。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯