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

wp做网站宽带推广方案

wp做网站,宽带推广方案,wordpress美化插件,门户网官网1 前言 介绍两种遍历像素的方法(非指针、指针)。注意:.at() .ptr()的作用、用法。相关API: Mat对象.ptr() Mat对象.at() 2 代码及内容 #include "iostream" #include "opencv2/opencv.hpp"using namespac…

1 前言

        介绍两种遍历像素的方法(非指针、指针)。注意:.at() .ptr()的作用、用法。相关API:

  • Mat对象.ptr()

  • Mat对象.at()

2 代码及内容

#include "iostream"
#include "opencv2/opencv.hpp"using namespace std;
using namespace cv;int main(int argc,char *argv)
{//读取图像Mat src = imread("C:/Users/Administrator/Desktop/Zooey.png", IMREAD_COLOR);if (src.empty()){cout << "could not find image file" << endl;return -1;}//获取图像信息int height = src.rows;int width = src.cols;int ch = src.channels();/*//遍历图像像素(第一种,非指针)for (int row = 0; row < height; row++){for (int col = 0; col < width; col++){//如果是三通道图像if (ch == 3){//将像素的三个通道的值存入一个Vec3b类型中Vec3b pixel = src.at<Vec3b>(row, col);	//Vec3b,三通道字节类型。at()获取图像中某一像素的值。//获取每个通道的值,根据BGR顺序。int blue = pixel[0];int green = pixel[1];int red = pixel[2];//修改图片像素每个通道的值src.at<Vec3b>(row, col)[0] = 255 - blue;src.at<Vec3b>(row, col)[1] = 255 - green;src.at<Vec3b>(row, col)[2] = 255 - red;}//如果是单通道图像if (ch == 1){//获取像素值。int pv = src.at<uchar>(row, col);//修改图片像素值src.at<uchar>(row, col) = (255 - pv);}}}//展示图像imshow("one_pixel-demo", src);*///遍历图像像素(第二种,指针)//创建一个大小和原图相同的Mat对象Mat result = Mat::zeros(src.size(), src.type());for (int row = 0; row < height; row++){uchar* curr_row = src.ptr<uchar>(row);//获得原图当前行的指针(指向这行第一个值,类似于数组那样)uchar* result_row = result.ptr<uchar>(row);//获取result图像当前行指针for (int col = 0; col < width; col++){//如果是三通道图像if (ch == 3){//获取像素每个通道的值。从这一行得一个值开始往后逐个获取三个。经列循环,以三个为单位继续获取。int blue = *curr_row++;int green = *curr_row++;int red = *curr_row++;//将值赋给result图像像素的每个通道*result_row++ = blue;*result_row++ = green;*result_row++ = red;}//如果是单通道图像if (ch == 1){//获取像素值。获取这一行第一个。经列循环往后逐个获取。int pv = *curr_row++;//将值赋给result图像像素*result_row++ = pv;}}}//展示图像,可以result图和原图是一样的imshow("result图", result);waitKey(0);destroyAllWindows();return 0;
}

两种方法,代码中我把第一种注释了,测试第一种时,记得把第二种注释掉。

        第一种时非指针的方式,用一个vec3b类型来获得一个像素三个通道的值,vec代表向量的意思,可以简单理解为一个数组。3b代表3通道字节类型,即有可以存放三个数值且是字节类型。总之vector是C++里的内容,不再多提了。

        第二种指针方式,我在代码中也有标注,要理解在内存中的机制,指针是沿着内存地址逐步向后进行的。

演示:

第一种遍历操作。

3 结束语

        没啦。

http://www.yidumall.com/news/39678.html

相关文章:

  • h5网站开发平台企业官网定制设计
  • 做外贸上哪些网站找客户市场营销案例
  • 怎么建设游戏平台网站网站推广是什么
  • wordpress怎么做图文数据库郑州seo优化顾问热狗
  • 网站建设 b2b企业策划方案怎么做
  • 网站建设创业基础ppt模板seo顾问服务 乐云践新专家
  • 企业网站建设方案资讯德芙巧克力的软文500字
  • wordpress打开html北京外包seo公司
  • 做房产网站用什么软件网络优化seo是什么工作
  • 现在大家做电商网站用什么源码网上推销产品的软件
  • 温州市网站建设公司学企业管理培训班
  • 无锡高端网站建设网站建设制作免费
  • 如何让单位网站做防护百度指数数据
  • 万网网站建设步骤网络优化这个行业怎么样
  • 网站宣传平台企业宣传片制作
  • 秦皇岛做网站百度手机版下载
  • 免费外贸b2bwindows优化软件排行
  • 长春能开发网站的公司线下营销推广方式有哪些
  • 做网站网页的软件是绿色的图标什么seo技术代理
  • 金融集团网站建设方案seo关键词排名怎么提升
  • 怎么做有图有声的网站cba目前排行
  • 南宁市网站维护与推广公司西安网
  • 平面设计案例网站推荐seo算法是什么
  • 屯济宁做网站公司以图搜图百度识图网页版
  • 陕西西安建设厅官方网站外贸网站搭建推广
  • 空间设计师网站b站推广网站2024年不用下载
  • 网站后台管理系统模板下载seo建站技巧
  • 网站asp木马删除搜索引擎营销的原理
  • 重庆潼南网站建设价格免费建站
  • 潍坊市网站建设怎么开发网站