首页 > 其他 > 详细

使用指针遍历图像

时间:2015-03-26 01:14:29      阅读:266      评论:0      收藏:0      [点我收藏+]
#include<cv.h>
#include<highgui.h>
void  colorReduce(cv::Mat &imag, int div = 64)
{
    int n1 = imag.rows;
    int nc = imag.cols*imag.channels();//每一行的像素数目(多通道的像素需要乘3)
    for (int j = 0; j < n1; j++)//对每一行像素点进行操作
    {
        uchar  *data = imag.ptr<uchar>(j);//定位到每一行像素数组的首地址
        for (int i = 0; i < nc; i++)
        {
            data[i] = data[i] / div*div + div / 2;//缩小像素点范围可以利用data[i]=0和data[i]=255求出最大像素值范围
        }     
    }
}
int main()
{
    cv::Mat image = cv::imread("C:\\Users\\dell\\Desktop\\2.jpg");
    colorReduce(image);
    cv::namedWindow("Image");
    cv::imshow("Image", image);
    cv::waitKey(0);
    return 0;
}

 

使用指针遍历图像

原文:http://www.cnblogs.com/khbcsu/p/4367417.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!