OpenCV学习笔记四-image的一些整体操作
生活随笔
收集整理的這篇文章主要介紹了
OpenCV学习笔记四-image的一些整体操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
title: OpenCV學習筆記四-image的一些整體操作
categories: 編程
date: 2019-08-08 12:50:47
tags: OpenCV
image的一些操作
sP4 image的一些整體操作 #include<iostream> #include<opencv2/opencv.hpp>using namespace std; using namespace cv;int main(int argc, char** argv) {//讀取一個文件并展示,如果文件地址不正確,打印相關信息Mat src , gray_src;src = imread("./images/Lena.png");if (src.empty()) {cout << "can't find the file " << endl;return -1;}imshow("input image", src);//將圖像轉為灰度圖,展示圖像并讀取行列大小cvtColor(src, gray_src, CV_BGR2GRAY);int height = gray_src.rows;int width = gray_src.cols;imshow("output gray", gray_src);//將灰度圖圖像的灰度反轉for (int row = 0; row < height; row++) {for (int col = 0; col < width; col++) {int gray = gray_src.at<uchar>(row, col);gray_src.at<uchar>(row, col) = 255 - gray;}}imshow("output turns gray", gray_src);//手動調整rgb圖像的rgb數值Mat gray_rgb;gray_rgb.create(src.size(), src.type());int rgb_height = src.rows;int rgb_width = src.cols;int nc = src.channels();for(int row = 0; row < rgb_height; row++ ){for (int col = 0; col < width; col++) {if (nc == 1) {int gray = gray_src.at<uchar>(row, col);gray_src.at<uchar>(row, col) = 255 - gray;}else if (nc == 3) {int b = src.at<Vec3b>(row, col)[0];int g = src.at<Vec3b>(row, col)[1];int r = src.at<Vec3b>(row, col)[2];gray_rgb.at<Vec3b>(row, col)[0] = 255 - b;gray_rgb.at<Vec3b>(row, col)[1] = 255 - g;gray_rgb.at<Vec3b>(row, col)[2] = r;}}}imshow("output turns rgb", gray_rgb);//使用函數調整rgb圖像數值Mat gray_rgb_autoTurn;bitwise_not(src, gray_rgb_autoTurn);imshow("aotu turn rgb", gray_rgb_autoTurn);waitKey(0);return 0; }總結
以上是生活随笔為你收集整理的OpenCV学习笔记四-image的一些整体操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL:画三角形程序详解笔记
- 下一篇: OpenCV学习笔记三-Mat数据结构