opencv:访问像素
2024-08-30 01:02:45
a.使用指针
#include <opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
//指针访问每个像素并赋值
Mat img = imread("001.jpg");
for (int i = ; i < img.rows; i++)
{
uchar* data = img.ptr<uchar>(i); // 获取每i行的首地址
for (int j = ; j < (img.cols*img.channels())/*列数乘以通道数*/; j++)
data[j] = ;
}
imshow("", img);
waitKey(); return ;
}
b.通过迭代器
#include <opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
//使用迭代器
Mat img = imread("001.jpg");
Mat_<Vec3b>::iterator it = img.begin<Vec3b>(); // 迭代器的初始位置
Mat_<Vec3b>::iterator itend = img.end<Vec3b>(); // 迭代器的终止位置
for (; it != itend; it++)
{
(*it)[] = ;
(*it)[] = ;
(*it)[] = ;
}
imshow("", img);
waitKey(); return ;
}
c.通过地址计算
#include <opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
//动态地址计算 use .at
Mat img = imread("001.jpg");
for (int i = ; i < img.rows; i++)
for (int j = ; j < img.cols; j++)
{
img.at<Vec3b>(i, j)[] = ;
img.at<Vec3b>(i, j)[] = ;
img.at<Vec3b>(i, j)[] = ;
}
imshow("", img);
waitKey(); return ;
}
最新文章
- HDU5937 Equation(DFS + 剪枝)
- 【读书笔记】Ninject 在MVC5中的使用
- [已解决]Eclipse 插件Maven在使用 add dependency,找不到包,解决办法
- 虚拟机下samba简单安装配置
- CentOS6.5下RPM方式安装mysql5.6.33
- Codeforces Gym 100338C C - Important Roads tarjan
- MYSQL基础笔记(三)-表操作基础
- 账户管理groupadd groupmod groupdel usermod usermod userdel
- phpmyadmin上传较大sql文件
- c/c++ 浮点型处理
- javascript . 02 break和continue、while、数组、冒泡排序
- WmS详解(二)之如何理解Window和窗口的关系?基于Android7.0源码
- 20175209 《Java程序设计》第二周学习总结
- 如何用anysend发wirshark的报文
- shell编程-输出(六)
- xbee/xbeeRPOS1、xbee/xbeePROS2C802.15.4/Digimesh功能方法
- 关于 jenkins-cli.jar
- [剑指Offer]9-用两个栈实现队列
- PHP移动互联网开发笔记(6)——MySQL数据库基础回想
- Java 守护线程概述