opencv内存总结和访问图像中像素方法案例(指针方法)
来源:互联网 发布:淘宝细节图尺寸 编辑:程序博客网 时间:2024/05/29 19:06
1.Mat是一个类,有两个数据部分组成:矩阵头(包含矩阵尺寸、存储方法、存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同,矩阵可以是不同的维数)的指针。
2.Opencv函数中输出图像和内存分配是自动完成的(不特别指明)
3.不考虑内存释放问题
4.赋值运算符合拷贝构造函数值复制信息头
5.Opencv引用计数机制,让每个Mat对象有自己的信息头,但共享一个矩阵,让矩阵指针指向同一个地址而实现。
6.RGB是常见的一种颜色空间,与人眼采用相似的工作机制
7.HSV和HLS吧颜色分解成色调、饱和度和亮度、明度。使算法对输入图像的光照条件不敏感。
//访问图像中像素方法
#include <opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
using namespace std;
using namespace cv;
//全局函数声明
void colorReduce(Mat& inputImage,Mat& outputImage,int div);
//控制台应用程序的入口函数
int main(){
//创建原始图并显示
Mat srcImage = imread("1.jpg");
imshow("1",srcImage);
Mat dstImage;
dstImage.create(srcImage.rows,srcImage.cols,srcImage.type());
//记录起始时间 计时函数
double time0 = static_cast<double>(getTickCount());
//调用颜色空间缩减函数
colorReduce(srcImage,dstImage,32);
//计算运行时间并输出
time0 = ((double)getTickCount()- time0)/getTickFrequency();
cout<<"this method's running time is"<<time0<<"s"<<endl;
//显示效果图
imshow("2",dstImage);
waitKey(0);
}
void colorReduce(Mat& inputImage,Mat& outputImage,int div){
outputImage = inputImage.clone();
int rowNumber = outputImage.rows;
int colNumber = outputImage.cols*outputImage.channels();
for (int i = 0;i<rowNumber;i++)
{
uchar* data = outputImage.ptr<uchar>(i);
for(int j = 0;j<colNumber;j++)
{
data[j]=data[j]/div*div+div/2;
}
}
}
- opencv内存总结和访问图像中像素方法案例(指针方法)
- opencv高效访问图像像素(遍历像素的方法总结)
- openCV中访问图像像素的两种方法
- opencv:访问图像中像素的三类方法
- OpenCV访问图像像素的方法
- opencv访问图片中像素的方法(一)——指针访问
- opencv访问(Mat)图像的像素方法汇总
- OpenCV学习笔记(七):访问图像中像素的三类方法
- opencv OpenCV访问图像像素, 数组元素等方法收集
- opencv OpenCV访问图像像素, 数组元素等方法收集
- opencv里常用的访问图像像素数据方法
- OpenCV访问图像像素, 数组元素等方法收集
- [HQ]OpenCV访问图像像素, 数组元素等方法收集
- Opencv访问图像像素的三种方法
- opencv学习三种常用方法访问操作图像像素
- opencv之访问图像像素的 三种方法
- 【拜小白opencv】16-用四种方法访问图像中的每个像素
- OpenCV访问图像像素的方法收集以及自己实践中得体会
- C++ 流
- 总结[1.4~1.18]
- JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件
- Maven 手动添加 JAR 包到本地仓库
- bat脚本中1>nul 2>nul 意思
- opencv内存总结和访问图像中像素方法案例(指针方法)
- 【poj 2185 Milking Grid】 KMP*2
- 异常初探(六)
- 【C++】 数组
- javaweb学习总结(三十一)——国际化(i18n)
- 2016.1.18总结
- 关于细胞传输模型的简单介绍
- QT类的私有成员变量和函数的隐藏
- CSS实现单行、多行文本溢出显示省略号(…)