opencv二值化处理
#include "stdafx.h"//对一张图片进行二值化处理
IplImage *pSrclmg =NULL;//载入的图片
IplImage *pDeclmg =NULL;//生成的图像
void onTrackerSlid(int thresth)
{
/*int i,j,k; //设置一个阈值,如果大于这个阈值就赋为255,小于这个阈值就赋为0
int height =pDeclmg->height;
int width =pDeclmg->width;
int step =pDeclmg->widthStep;
int Channels =pDeclmg->nChannels;
uchar *data0 =(uchar*)(pSrclmg->imageData);
uchar *data1 =(uchar*)(pSrclmg->imageData);
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
for(k=0;k<Channels;k++)
{
if(data0[i*step+j+k]>thresth)
data0[i*step+j+k]=255;
else
data1[i*step+j+k]=0;
}
}
}
cvShowImage("pDeclmg_Image",pDeclmg);*/
转为二值图
cvThreshold(pSrclmg,pDeclmg, thresth, 255, CV_THRESH_BINARY);
显示二值图
cvShowImage("pDeclmg_Image",pDeclmg);
}
int _tmain(int argc,_TCHAR* argv[])
{
int thresth=127;
pSrclmg =cvLoadImage("路面4.jpg",0);
pDeclmg =cvCreateImage(cvGetSize(pSrclmg),8,1);
cvShowImage("source_Image",pSrclmg);
pDeclmg=cvCloneImage(pSrclmg);
cvNamedWindow("source_Image",CV_WINDOW_AUTOSIZE);
cvNamedWindow("pDeclmg_Image",0);
cvCreateTrackbar("threshold","pDeclmg_Image",&thresth,255,onTrackerSlid);
onTrackerSlid(thresth);
cvSaveImage("E:\\素材\\路面5.jpg",pDeclmg);
cvWaitKey(0);
cvDestroyWindow("source_Image");
cvDestroyWindow("pDeclmg_Image");
cvReleaseImage(&pSrclmg);
cvReleaseImage(&pDeclmg);
return 0;
}
opencv二值化处理的更多相关文章
- 【转载】opencv 二值化函数——cv2.threshold
https://blog.csdn.net/weixin_38570251/article/details/82079080 threshold:固定阈值二值化, ret, dst = cv2.thr ...
- opencv二值化的cv2.threshold函数
(一)简单阈值 简单阈值当然是最简单,选取一个全局阈值,然后就把整幅图像分成了非黑即白的二值图像了.函数为cv2.threshold() 这个函数有四个参数,第一个原图像,第二个进行分类的阈值,第三个 ...
- [iOS OpenCV的使用,灰度和二值化]
看网上方法很多,但版本都不够新,我看了网上一些知识,总结了下,来个最新版Xcode6.1的. 最近主要想做iOS端的车牌识别,所以开始了解OpenCV.有兴趣的可以跟我交流下哈. 一.Opencv的使 ...
- OpenCV图像的全局阈值二值化函数(OTSU)
cv::threshold(GrayImg, Bw, 0, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);//灰度图像二值化 CV_THRESH_OTSU是提取图像最 ...
- OpenCV图像的二值化
图像的二值化: 与边缘检测相比,轮廓检测有时能更好的反映图像的内容.而要对图像进行轮廓检测,则必须要先对图像进行二值化,图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出 ...
- OpenCV中对图像进行二值化的关键函数——cvThreshold()。
函数功能:采用Canny方法对图像进行边缘检测 函数原型: void cvThreshold( const CvArr* src, CvArr* dst, double threshold, doub ...
- Opencv实现图像的灰度处理,二值化,阀值选择
前几天接触了图像的处理,发现用OPencv处理确实比較方便.毕竟是非常多东西都封装好的.可是要研究里面的东西,还是比較麻烦的,首先,你得知道图片处理的一些知识,比方腐蚀,膨胀,仿射,透射等,还有非常多 ...
- opencv 删除二值化图像中面积较小的连通域
对于上图的二值化图像,要去除左下角和右上角的噪点,方法:使用opencv去掉黑色面积较小的连通域. 代码 CvSeq* contour = NULL; double minarea = 100.0; ...
- Java基于opencv实现图像数字识别(三)—灰度化和二值化
Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...
随机推荐
- AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...
- Mysql索引PRIMARY、NORMAL、UNIQUE、FULLTEXT 区别和使用场合
索引 数据库的索引就像一本书的目录,能够加快数据库的查询速度. MYSQL索引有四种PRIMARY.INDEX.UNIQUE.FULLTEXT, 其中PRIMARY.INDEX.UNIQUE是一类,F ...
- Uninstall from GAC In C# code
How do I uninstall the GAC from my C# application. I am not able to uninstall, the particular exe an ...
- ASP.NET Identity 简介
翻译自:http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity ,略有改动. 背景:A ...
- linux-ntpdate同步更新时间
Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步 安 ...
- 教你一招:Win10切换输入法与Win7一样(Ctrl + 空格)
对于win10的朋友,大部分人对输入法都不习惯,如果你把英语输入法删除了,在中文输入法里没有美式键盘,让ctrl+空格与ctrl+Shift都能在搜狗输入法和美式键盘切换.下面小编就教你怎么让Win1 ...
- oracle普通用户登录em
刚新创建一个用户,登陆EM(Enterprise Manager) 如下提示: 应用程序要求的数据库权限超出了您当前具有的权限.有关特定版本的详细信息, 解决办法: 给登陆用户赋予 select_ca ...
- extracting fasta records from a multi-fasta file based on a list using awk
for i in $(cat gene_list) do awk -v RS=">" '($1==a){print ">"$0}' a=$i inp ...
- bzoj 2527: [Poi2011]Meteors 整体二分
给每个国家建一个链表,这样分治过程中的复杂度就和序列长度线形相关了,无脑套整体二分就可以. (最坑的地方是如果所有位置都是一个国家,那么它的样本个数会爆longlong!!被这个坑了一次,大于p[i] ...
- bzoj2228[ZJOI2011]礼物(gift)
据说联赛之前写题解可以涨RP 这题的输入格式半天没看懂-其实是有q层摞在一起,每一层大小都是p*r,依次输入q层的情况.那么首先我们枚举三种挖方块的姿势,分别使切出的方块的上面/前面/右面是正方形的面 ...