• Opencv3——遍历Mat像素值


    #include <opencv2/opencv.hpp>

    #include <iostream>

    using namespace cv;

    using namespace std;

    int main(int artc, char** argv) {

             Mat src = imread("D:/test.png");

             if (src.empty()) {

                      printf("could not load image... ");

                      return -1;

             }

             namedWindow("input", CV_WINDOW_AUTOSIZE);

             imshow("input", src);

             // 直接读取图像像素

             int height = src.rows;

             int width = src.cols;

             int ch = src.channels();

             for (int c = 0; c < ch; c++) {

                      for (int row = 0; row < height; row++) {

                              for (int col = 0; col < width; col++) {

                                       if (ch == 3) {

                                                Vec3b bgr = src.at<Vec3b>(row, col);

                                                bgr[0] = 255 - bgr[0];

                                                bgr[1] = 255 - bgr[1];

                                                bgr[2] = 255 - bgr[2];

                                                src.at<Vec3b>(row, col) = bgr;

                                       } else if(ch == 1) {

                                                int gray = src.at<uchar>(row, col);

                                                src.at<uchar>(row, col) = 255 - gray;

                                       }

                              }

                      }

             }

             imshow("output", src);

             waitKey(0);

             return 0;

    }

    后知后觉、越学越菜
  • 相关阅读:
    程序员书单合集,持续整理中
    informatica9.5.1后最一步出错(ICMD_10033,INFACMD_10053)
    Informatica9.5.1配置域名错误(ICMD_10033,INFASETUP_10002,RSVCSHARED_00021)
    程序员书单_UML篇
    程序员书单_J2EE专题
    程序员书单_求职面试
    程序员书单_java专项进阶篇
    程序员书单_HTML篇
    程序员书单_数据结构和算法篇
    程序员书单_HeadFirst系列
  • 原文地址:https://www.cnblogs.com/chenhuanting/p/10830129.html
Copyright © 2020-2023  润新知