对图像进行二值化的处理方法,求源代码,最好是C++C或者OPENCV

对图像进行二值化的处理方法,求源代码,最好是C++C或者OPENCV,第1张

//声明IplImage指针

IplImage pFrame = NULL;

IplImage pFrImg = NULL;

IplImage pBkImg = NULL;

CvMat pFrameMat = NULL;

CvMat pFrMat = NULL;

CvMat pBkMat = NULL;

pBkImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1);

pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1);

pBkMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);

pFrMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);

pFrameMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1);

//转化成单通道图像再处理

cvCvtColor(pFrame, pBkImg, CV_BGR2GRAY);

cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);

cvConvert(pFrImg, pFrameMat);

cvConvert(pFrImg, pFrMat);

cvConvert(pFrImg, pBkMat);

//二值化前景图

cvThreshold(pFrMat, pFrImg, 60, 2550, CV_THRESH_BINARY);

不知道你说的什么意思,要对一个图像进行二值化处理用OpenCV的话就是

void cvThreshold( const CvArr src, CvArr dst, double threshold,

double max_value, int threshold_type );

这个函数是定阈值二值化处理,比较粗略吧。另外可以用自适应阈值二值化,那样的话就会比这个更精细。

我的想法:因为拍照汽车肯定有俩部分(一部分是车顶,一部分是车头)。车顶的图形比较方,车头则通常有不规则的部分,并且这俩个部分占了二值化车辆的大部分。想办法把这俩个提取出特定特征提出来,然后在整幅图像做标记,不是这俩种区域的通通抹掉。

之后就是遍历车顶找车头(找完车顶还有车头没匹配上就单独标记车头)。怎么通过车顶找车头呢?我的想法是车顶和车头之间通常有类似的平行线,通过求车顶边缘的水平直线,然后沿这条直线的方向前后找车头(增加一个差值范围内)。(实际上车顶和车头之间因为有车窗玻璃的影响应该有个最小距离。)

最后根据匹配结果把车头和车顶连起来就得到大部分车辆面积。

你应该要把你问的问题说完。这是对回答者最起码的尊重(你的标题明显是复制粘贴然后没注意到对标题栏的限制)。

这和什么语言没关系。如果想用现成的你可以到directoryfsforg下载gimp,有很多图像处理工具的源代码可以使用,包括C,C++和java。

如果纯粹是你个人想尝试一下,那么这里纯粹是算法的问题。任何图像都是以矩阵方式存储的,不论是文件形式和内存形式。处理之前你首先要清楚这个矩阵的大小,尺寸,每个字节对应为止的像素含义。搞清楚之后,才是算法 *** 作。我理解你的“骨架提取”就是将位图向量化的过程,简单的说,就是由点阵转换为一系列直线,并记录每段直线的起点和终点,甚至转换为连续直线、贝泽尔曲线,或者圆弧。这是个非常高级的数学问题,并不是所有的位图都有解,这也是为什么像手写笔识别、脸谱识别和车牌识别迄今为止尚有一些误差,不可能做到100%成功,识别的过程采用了人工神经网络、前馈网络、多层网络等相当水平的数学方法。举个例子来说,如果你偶尔看到了某个医生的处方,可能只能勉强认出一部分文字,这就是为什么说不是所有位图都有解的一个最简单的解释。

以上就是关于对图像进行二值化的处理方法,求源代码,最好是C++/C或者OPENCV全部的内容,包括:对图像进行二值化的处理方法,求源代码,最好是C++/C或者OPENCV、急: OPENCV前景信息提取 : 1如何将二值化分开的同一车辆合并,2除了面积还需要提取、基于opencv采用C++或Java语言选择一个二值图像骨架提取算法实现并对实验结果进行评价。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/9460829.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存