当前位置: 首页 > news >正文

网站o2owordpress字典插件

网站o2o,wordpress字典插件,深圳平湖网站开发,广州天府路一栋楼外墙脚手架坍塌前言#xff1a;前面学习了数组和指针在C中的处理原理#xff0c;本文通过自己编写一个图像处理的函数实例来加深对数组和指针的理解。为什么是图像处理呢#xff0c;因为图像数据是一个二维矩阵#xff0c;相当于一个二维数组#xff0c;前面学习了一维数组#xff0c;现…前言前面学习了数组和指针在C中的处理原理本文通过自己编写一个图像处理的函数实例来加深对数组和指针的理解。为什么是图像处理呢因为图像数据是一个二维矩阵相当于一个二维数组前面学习了一维数组现在可以看看指针是怎么来处理二维数组的。 目录 遍历OpenCV中图像像素方法一 遍历OpenCV中图像像素方法二 总结 正文我们首先使用opencv图像处理库读入一张图像然后对图像进行二值化opencv库中已经集成了此功能此处自己编写仅仅为了巩固指针和数组的知识。 遍历OpenCV中图像像素方法一 代码如下 #include iostream #include cstring #include opencv2/opencv.hpp using namespace std; using namespace cv;int main() {Mat srcImage imread(test.jpg);Mat srcGray;cvtColor(srcImage, srcGray, COLOR_BGR2GRAY);Mat outputImage srcGray.clone();int rows outputImage.rows;int cols outputImage.cols*outputImage.channels();int threshold 50;for (int i 0; i rows; i){uchar* data outputImage.ptruchar(i);///获取第i行的首地址for (int j 0; j cols; j){if (data[j] threshold){data[j] 255;}else{data[j] 0;}}}imshow(src, srcImage);imshow(binary, outputImage);waitKey();return 0; } 该方法中最重要的是这条语句uchar* data outputImage.ptruchar(i);Mat类中的ptr函数返回的是某一行的首地址ptr是一个模板函数代码中它返回的是第i行的首地址。 第一个循环体内获取每行的首地址第二个循环体内获取每行的每个像素值并做阈值划分。前面文章《使用new创建动态数组》讲过访问数组中的元素既可以用指针访问也可以用数组的方括号表示法来访问此处用的是方括号表示法data[j]代表的是第i行中的第j1个像素通过双层循环对图像中每一行的每个像素做阈值划分就完成了图像的二值化。 也可以通过指针的方式来访问图像中的每个像素将上面代码中的循环体换成以下代码运行的结果是一样的。 for (int i 0; i rows; i){uchar* data outputImage.ptruchar(i);///获取第i行的首地址for (int j 0; j cols; j){if ((*(dataj)) threshold){*(data j) 255;}else{*(data j) 0;}}} 遍历OpenCV中图像像素方法二 方法一中通过获取每行的首地址来访问每行中的每个像素。也可以直接通过二维数组的整个数组的首地址来访问每个像素代码如下 #include iostream #include cstring #include opencv2/opencv.hpp using namespace std; using namespace cv;int main() {Mat srcImage imread(test.jpg);Mat srcGray;cvtColor(srcImage, srcGray, COLOR_BGR2GRAY);Mat outputImage srcGray.clone();int rows outputImage.rows;int cols outputImage.cols*outputImage.channels();int threshold 50;uchar* data outputImage.data;for (int i 0; i rows; i){for (int j 0; j cols; j){if (data[i*colsj] threshold){data[i*cols j] 255;}else{data[i*cols j] 0;}}}imshow(src, srcImage);imshow(binary, outputImage);waitKey();return 0; } 方法二中最重要的是这条语句uchar* data outputImage.data; Mat类中的data指针指向的就是图像数据二维数组的首地址该方法用的是数组的方括号表示法来访问每个像素。同理循环体中也可以换成指针的方式来访问每个像素。循环体中的代码换成指针的方式如下 for (int i 0; i rows; i){for (int j 0; j cols; j){if (*(datai*cols j) threshold){*(data i * cols j) 255;}else{*(data i * cols j) 0;}}} 总结 opencv中遍历图像像素的方法有十几种本文通过4种遍历图像像素的方式编写了一个简单的图像二值化函数既巩固了指针和数组的知识又掌握了遍历opencv中图像像素的方法。
http://www.hkea.cn/news/14377285/

相关文章:

  • 乔拓云智能建站免费注册营销型网站建设总结
  • 网站空间控制面板软件wordpress 下载 主题
  • 房山手机网站建设17年wordpress
  • 网站域名注册商杭州滨江区建设局网站
  • 网站建设流程平台东莞常平邮编
  • 手机泉州网宣城seo
  • 建设银行交学费网站2018wordpress稳定版
  • 怎样自己建立一个网站上海网警
  • 网站建设公司自适应源码钓鱼网站网站怎么做
  • 博达网站建设教程php网站建设教程
  • 龙岗企业网站改版公司重庆网站定制哪家好
  • 大兴区制作网站的公司品牌排行榜
  • 成都做公众号推广的公司公司网站优化方案
  • 服装网站建设论文网站空间和服务器有什么区别
  • 贴心的网站优化公司可以做动画的网站都有哪些软件下载
  • 北京建设电工证查询网站wix怎么做网页
  • 网站建设柒金手指花总12oa办公系统企业
  • 百度网站建设工资原版百度
  • 深圳企业网站制作公司介绍上海网站建设-目前企业网站所面临的困惑
  • 设计本网站是用什么做的优化网站流量
  • 域名到期网站天眼查官网登录入口
  • 网站建设洪塔河南网站备案地址
  • 网站建设的实践报告网站搭建服务器需要多少钱
  • 网站制作需要多长时间无锡手机网站开发
  • 个人网站做电影资源链接犯法吗网站后台内容编辑器下载
  • 陕西 工程建设 公司 网站专业软文发稿平台
  • 建设公司网站需要什么技术广州工商学院官网
  • 慧聪网de网站建设策略电影网站开发需要多少钱
  • wordpress 多域名多站点如何做网站首页优化
  • 宽屏网站欣赏网站建设公司销售提成