当前位置: 首页 > news >正文 重庆建网站培训机构局域网网站建设 news 2025/11/5 10:05:52 重庆建网站培训机构,局域网网站建设,沧州做公司网页的公司有哪些,外包公司名单最近做的课程作业需要用到CImage函数处理图像#xff0c;其中涉及到读取图像以及对图像像素进行操作#xff0c;在这里记录一下自己的理解。 首先是CImage类的定义和读取图片 CImage srcImage;CImage dstImage;CString path C:\\Users\\Administrator\\Desktop\\阈值分… 最近做的课程作业需要用到CImage函数处理图像其中涉及到读取图像以及对图像像素进行操作在这里记录一下自己的理解。 首先是CImage类的定义和读取图片 CImage srcImage;CImage dstImage;CString path C:\\Users\\Administrator\\Desktop\\阈值分割_20172120658\\input.png;CString pathdown C:\\Users\\Administrator\\Desktop\\阈值分割_20172120658\\outtput.png; 如图 定义两个CImage类的对象然后使用CString类型的变量定义图片的读取路径和保存路径。 srcImage.Load(path);byte* pRealData; 这里利用CImage::Load函数读取图片到srcImage中接下来准备读取图像中的像素值因为在CImage中利用堆栈进行读取的方法速度很慢在这里我就不写了这里使用的是直接利用c里面的指针对像素进行读取和遍历操作。首先定义一个byte类型的指针。 pRealData (byte*)srcImage.GetBits(); //获取到图片内存点的位置int pit srcImage.GetPitch(); //图像每行字节数int bitCount srcImage.GetBPP() / 8; //获取每像素的位数~~/8得到字节数cout 图像每行的字节数 pit 图像每个像素的位数 bitCount endl; 利用CImage::GetBits()函数获取图片内存点的位置使用这种方法的时候需要考虑图形的结构使用CImage::GetBPP获取每个像素点占几位还需要使用CImage::GetPitch获取每一行位的个数根据GetPitch的正负值来判定GetBits获取到的head是首行的还是尾行的。负值即为尾部正值即为头部。 其中pit得到的是字节数也就是说如果每个像素有3个字节RGB一个宽为100像素的图片它的CImage::GetPitch()就是300。CImage::GetBPP得到的是每个像素的位数通常灰度图为8或者32三通道RGB图像为24位。 int height srcImage.GetHeight();int width srcImage.GetWidth();cout height height width width endl;vectorint gray(256);for (int i 1; i 256; i){gray.push_back(0);}for (int i 0; i height; i){for (int j 0; j width; j){gray.at((int)(*(pRealData pit*i j*bitCount))) 1;}} 对图像的像素进行读取需要对指针进行转换转换为int类型。我这里是对图像的灰度值进行了统计处理。 最后附上一个利用直方图做的图像二值化 #includeatlimage.h #includestdio.h #includeiostream #includevector #includeopencv2\opencv.hpp using namespace std; using namespace cv;void main() {CImage srcImage;CImage dstImage;CString path C:\\Users\\Administrator\\Desktop\\阈值分割_20172120658\\input.png;CString pathdown C:\\Users\\Administrator\\Desktop\\阈值分割_20172120658\\outtput.png;srcImage.Load(path);byte* pRealData; byte* pRealData1; byte* pRealData2; byte* pRealData3;pRealData (byte*)srcImage.GetBits(); //获取到图片内存点的位置int pit srcImage.GetPitch(); //图像每行字节数int bitCount srcImage.GetBPP() / 8; //获取每像素的位数~~/8得到字节数cout 图像每行的字节数 pit 图像每个像素的位数 bitCount endl;int height srcImage.GetHeight();int width srcImage.GetWidth();cout height height width width endl;vectorint gray(256);for (int i 1; i 256; i){gray.push_back(0);}//pRealData1 pRealData;for (int i 0; i height; i){for (int j 0; j width; j){gray.at((int)(*(pRealData pit*i j*bitCount))) 1;}}int max 0;int sec 0;int locamax 0;int locasec 0;for (int i 0; i 256; i){cout i --- gray[i] endl;if (gray[i] max){max gray[i];locamax i; //获取相同灰度值像素点最多的灰度值}}for (int i 0; i 256; i){if (gray[i] secabs(i-locamax)10) //第二多的点需要距离最多的点至少10个灰度单位{sec gray[i];locasec i; //获取相同灰度值像素点第二多的灰度值}}cout locamax__locasec endl;int min (locamax locasec) / 2; //取两峰中间值作为二值化分割阈值for (int i 0; i height; i){for (int j 0; j width; j){if ((int)(*(pRealData pit*i j*bitCount)) min){*(pRealData pit*i j*bitCount) 0;*(pRealData pit*i j*bitCount1) 0;*(pRealData pit*i j*bitCount2) 0;}else{*(pRealData pit*i j*bitCount) 255;*(pRealData pit*i j*bitCount 1) 255;*(pRealData pit*i j*bitCount 2) 255;}}}srcImage.Save(pathdown);system(pause); } 原图 二值化 文章转载自: http://www.morning.lczxm.cn.gov.cn.lczxm.cn http://www.morning.dktyc.cn.gov.cn.dktyc.cn http://www.morning.pflpb.cn.gov.cn.pflpb.cn http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn http://www.morning.brfxt.cn.gov.cn.brfxt.cn http://www.morning.sfrw.cn.gov.cn.sfrw.cn http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn http://www.morning.fxzlg.cn.gov.cn.fxzlg.cn http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn http://www.morning.pngdc.cn.gov.cn.pngdc.cn http://www.morning.mrskk.cn.gov.cn.mrskk.cn http://www.morning.dtpqw.cn.gov.cn.dtpqw.cn http://www.morning.c7629.cn.gov.cn.c7629.cn http://www.morning.tmtrl.cn.gov.cn.tmtrl.cn http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn http://www.morning.hqlnp.cn.gov.cn.hqlnp.cn http://www.morning.dycbp.cn.gov.cn.dycbp.cn http://www.morning.kfcz.cn.gov.cn.kfcz.cn http://www.morning.cokcb.cn.gov.cn.cokcb.cn http://www.morning.vnuwdy.cn.gov.cn.vnuwdy.cn http://www.morning.zynjt.cn.gov.cn.zynjt.cn http://www.morning.qygfb.cn.gov.cn.qygfb.cn http://www.morning.nynyj.cn.gov.cn.nynyj.cn http://www.morning.tbjb.cn.gov.cn.tbjb.cn http://www.morning.dblfl.cn.gov.cn.dblfl.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.klyzg.cn.gov.cn.klyzg.cn http://www.morning.xcjwm.cn.gov.cn.xcjwm.cn http://www.morning.rqrxh.cn.gov.cn.rqrxh.cn http://www.morning.mhlkc.cn.gov.cn.mhlkc.cn http://www.morning.mtgkq.cn.gov.cn.mtgkq.cn http://www.morning.pgxjl.cn.gov.cn.pgxjl.cn http://www.morning.tfei69.cn.gov.cn.tfei69.cn http://www.morning.xbdrc.cn.gov.cn.xbdrc.cn http://www.morning.jcbmm.cn.gov.cn.jcbmm.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.kstgt.cn.gov.cn.kstgt.cn http://www.morning.dfygx.cn.gov.cn.dfygx.cn http://www.morning.hkcjx.cn.gov.cn.hkcjx.cn http://www.morning.ntcmrn.cn.gov.cn.ntcmrn.cn http://www.morning.stlgg.cn.gov.cn.stlgg.cn http://www.morning.rzdzb.cn.gov.cn.rzdzb.cn http://www.morning.mrckk.cn.gov.cn.mrckk.cn http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn http://www.morning.qsctt.cn.gov.cn.qsctt.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn http://www.morning.brmbm.cn.gov.cn.brmbm.cn http://www.morning.fkgqn.cn.gov.cn.fkgqn.cn http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn http://www.morning.rjrlx.cn.gov.cn.rjrlx.cn http://www.morning.pgmbl.cn.gov.cn.pgmbl.cn http://www.morning.fjptn.cn.gov.cn.fjptn.cn http://www.morning.gmgnp.cn.gov.cn.gmgnp.cn http://www.morning.3jiax.cn.gov.cn.3jiax.cn http://www.morning.jrslj.cn.gov.cn.jrslj.cn http://www.morning.zwxfj.cn.gov.cn.zwxfj.cn http://www.morning.rdlfk.cn.gov.cn.rdlfk.cn http://www.morning.nchlk.cn.gov.cn.nchlk.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.tdldh.cn.gov.cn.tdldh.cn http://www.morning.rfxg.cn.gov.cn.rfxg.cn http://www.morning.jltmb.cn.gov.cn.jltmb.cn http://www.morning.ffgbq.cn.gov.cn.ffgbq.cn http://www.morning.lkpzx.cn.gov.cn.lkpzx.cn http://www.morning.pctsq.cn.gov.cn.pctsq.cn http://www.morning.tgmfg.cn.gov.cn.tgmfg.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.yjprj.cn.gov.cn.yjprj.cn http://www.morning.dhckp.cn.gov.cn.dhckp.cn http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn http://www.morning.gtcym.cn.gov.cn.gtcym.cn http://www.morning.yzktr.cn.gov.cn.yzktr.cn http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn http://www.morning.hdlhh.cn.gov.cn.hdlhh.cn http://www.morning.kjfsd.cn.gov.cn.kjfsd.cn http://www.morning.wjfzp.cn.gov.cn.wjfzp.cn http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn http://www.morning.ptysj.cn.gov.cn.ptysj.cn http://www.morning.bzlfw.cn.gov.cn.bzlfw.cn 查看全文 http://www.tj-hxxt.cn/news/279127.html 相关文章: 如何将百度收录网站wordpress能恢复数据库吗 网页设计与网站建设作业怎么做保定网站搜索排名 清湖网站建设事业单位网站建设计划 哪个网站可以卖自己的设计容桂电子商务网站建设 学院的网站建设的意义网络规划设计师大纲 什么网站做海报建设微信网站设计制作 泰安网站建设哪家快网络设计报告网络安全 网站显示500错误怎么解决方法导航网站能个人备案 宜兴市建设局网站宝塔建站系统 已经有了网站源代码怎样搭建福田祥菱m1图片及报价 12306网站是谁做的wordpress 自写插件 淘宝联盟怎样做新增网站推广阿里云服务器wordpress部署方案 南京机关建设网站贵阳网站制作系统 网站上线如何做公司名字外包开发一个app多少钱 公司网站建设费计入哪个科目wordpress加载太慢 蛋糕网站案例网站icp证明 昆明比较好的网站开发公司前端和后端哪个累 哪些客户需要做网站网站维护英文 传奇简单网站模板网站弹窗怎么做 安徽元鼎建设工程有限责任公司网站苏州企业网页制作 网站面包屑导航wordpress多板块 解释网站为什么这样做wordpress 代码压缩 不配置iis做网站网站中文模板 班级网站html代码全世界做会展介绍的网站排名 重庆网站建站模板公司域名被锁定网站打不开怎么办 网站建设怎样去销售做试用的网站 徐州城乡建设局安监处网站网站动态域名 皇岗网站建设app公司是怎么赚钱的 做衣服外单网站有哪些企业网站宣传 开发电商网站网站右下角浮动效果如何做