码迷,mamicode.com
首页 > 其他好文 > 详细

opencv2学习- - - 像素操作

时间:2016-05-28 01:18:50      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

/*
        像素访问
*/ 
 
#include <iostream>  
#include <cv.h>    
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>
 
using namespace std;
using namespace cv;  
 
int main(int argc, int* argv[])  
{  
    Mat image = imread("lena.bmp");
    Mat out1 = image.clone();

    long n_rows = out1.rows;
    long n_cols = out1.cols * out1.channels();

    /*
     *            行指针
     */
    uchar *p;
    for(long i=0; i<n_rows; i++)
    {
        p = out1.ptr<uchar>(i);
        for(long j=0; j<n_cols; j++)
        {
            p[j] = 255 - p[j];
        }
    }

    /*
     *            元素指针
     */
    Mat out2;
    out2.create(image.size(), image.type());  // reserve size and type but alloc new space

    n_rows = out2.rows;
    n_cols = out2.cols * out2.channels();

    p = out2.data;
    double c = 0.5;
    double b = 30;
    for (long i=0; i<n_rows*n_cols; i++)
    {
       *(p+i) = (uchar)(255 * 0.5 * ((double)(image.data[i]) / 255) + b);
    }     

   /*
     * Display
     */
    imshow("src_image", image);
    imshow("reverse_image", out1);
    imshow("mici_image", out2);
 
    waitKey(6000);  
    return 0;     
}  

 

opencv2学习- - - 像素操作

标签:

原文地址:http://www.cnblogs.com/love29850706/p/5536584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!