Open CV学习记录(五)——离群点、访问图像像素、remap、resize

来源:互联网 发布:2016网络情歌对唱大全 编辑:程序博客网 时间:2024/06/05 23:23

上午找模板和开会,中午发现了一个设计PPT的公众号,就把上午改了好久的模板放弃了,重新找了一个模板开始做起,半天才做了不到十页,强迫症加低效率好废时间啊,还好下午做的时候超级投入,哈哈哈。
http://blog.csdn.net/qq_20823641/article/details/51920846
访问图像像素的方式有三种:指针、at、迭代器。
访问像素:

#include<opencv2/core/core.hpp>  #include<opencv2/highgui/highgui.hpp>  using namespace cv;void colorReduce(Mat& src, Mat& dst);int main(int argc, char** argv[]){    Mat image = imread("E:\\3.jpg");    imshow("image", image);    Mat result;    colorReduce(image, result);    imshow("result", result);    waitKey(0);}void colorReduce(Mat& src, Mat& dst){    /*    //Vec3b* p;    dst.create(src.size(), src.type());    for (int i = 0; i < src.rows; i++)    {         //p = dst.ptr<Vec3b>(i);        for (int j = 0; j < src.cols; j++)        {            //p[j] = src.ptr<Vec3b>(i)[j]/32*32;            dst.ptr<Vec3b>(i)[j]= src.ptr<Vec3b>(i)[j] / 32 * 32;        }    }    */    uchar* p;    dst.create(src.size(), src.type());    for (int i = 0; i < src.rows; i++)    {         p = dst.ptr<uchar>(i);        for (int j = 0; j < src.cols*src.channels(); j++)        {            //p[j] = src.ptr<Vec3b>(i)[j]/32*32;            p[j]= src.at<uchar>(i,j) / 32 * 32;        }    }}

对图像的像素进行操作时,用create()创建一副和原图像等大、同类型的图。

0 0