opencv c++ mat获取像素及像素赋值

For accessing pixel's channel value :

for (int i = ; i < image.cols; i++) {
for (int j = ; j < image.rows; j++) {
Vec3b intensity = image.at<Vec3b>(j, i);
for(int k = ; k < image.channels(); k++) {
uchar col = intensity.val[k];
}
}
}

For changing a pixel value of a channel :

uchar pixValue;
for (int i = ; i < image.cols; i++) {
for (int j = ; j < image.rows; j++) {
Vec3b &intensity = image.at<Vec3b>(j, i);
for(int k = ; k < image.channels(); k++) {
// calculate pixValue
intensity.val[k] = pixValue;
}
}
}

附录:引用

http://www.cppblog.com/gtwdaizi/articles/38521.html

C++返回引用类型 指针的引用

C++返回引用类型
A& a(){ return *this;} 就生成了一个固定地址的指针,并把指针带给你

但A a() { return *this;}会生成一个临时对象变量,并把这个临时变量给你
这样就多了一步操作

当返回一个变量时,会产生拷贝。当返回一个引用时,不会发生拷贝,你可以将引用看作是一个变量的别名,就是其他的名字,引用和被引用的变量其实是一个东西,只是有了两个名字而已。

问题的关键是,当你想要返回一个引用而不是一个拷贝时,你要确保这个引用的有效性,比如:
int & fun() { int a; a=10; return a; }
这样是不行的,因为a会在fun退出时被销毁,这时返回的a的引用是无效的。
这种情况下,如果fun的返回类型不是int & 而是int就没有问题了。

指针的引用
GetNearestFontInTwips(CFont *&aFont, const TFontSpec &aFontSpec);

第一个参数aFont是一个指针, 前面加上*&表示指针的引用, 其实可以如下看待这个方式(CFont*) &aFont, 这就一目了然了.


// image.at返回的是引用,将引用赋值到intensity
Vec3b intensity = image.at<Vec3b>(j, i); //intensity是image.at返回的引用的另一个别名
Vec3b &intensity = image.at<Vec3b>(j, i);

最新文章

  1. POJ 1754 Splay
  2. 教你如何做好SEO优化中的前端优化
  3. poj1942 Paths on a Grid
  4. http://blog.csdn.net/luxiaoyu_sdc/article/details/7333024
  5. oracle PL/SQL(procedure language/SQL)程序设计之游标cursors
  6. Cookie与Session详解
  7. HTML中的&lt;select&gt;标签如何设置默认选中的选项
  8. 如何计算ModBus超时时间?
  9. dirname(__FILE__) 的使用总结
  10. jquery1.7.2的源码分析(五)$.support
  11. 动态加载Ribbon功能区
  12. SQL Server索引进阶:第五级,包含列
  13. Brackets + Sass 学习心得
  14. PAT乙级练习1001
  15. 201521123073 《Java程序设计》第13周学习总结
  16. Mac上如何完美的转换epub至mobi供kindle观看
  17. HP 1010、 1020、 1022 、M1005激光打印机内部无卡纸,但机器仍提示卡纸?
  18. Linux 下查看我们的不速之客
  19. SQL 给字符串补0
  20. 并发测试 JavaDemo

热门文章

  1. 教你使用 Reflexil 反编译.NET
  2. POCO类
  3. Maven - 下载JAR包
  4. Android SQLite性能分析
  5. 【每日Scrum】第三天(4.13) TD学生助手Sprint1站立会议
  6. CentOS7配置opencv for python &amp;&amp; eclipse c/c++[更新]
  7. Linux高端内存
  8. IntelliJ IDEA配置Tomcat及部署项目
  9. yii框架之gii创建数据表相应的model类
  10. codevs1032