小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

opencv算術操作

 昵稱14216904 2016-02-19

opencv算術操作

Code:

  1. #include <opencv2\core\core.hpp>  
  2. #include <opencv2\highgui\highgui.hpp>  
  3. #include <opencv2\imgproc\imgproc.hpp>  
  4. #include <iostream>  
  5.   
  6. using namespace std;  
  7. using namespace cv;  
  8.   
  9. Mat addWeight(Mat &image, Mat &image2)  
  10. {  
  11.     Mat result;  
  12.     //addWeighted(image, 0.5, image2, 0.5, 0.0, result);  
  13.     result = image*0.5 + image2*0.5 + 0.3;   // 大多數算術函數在opencv2中都有對應的重載操作符  
  14.     return result;  
  15. }  
  16.   
  17. Mat addWeight2(Mat &image, Mat &image3)  
  18. {  
  19.     Mat result;  
  20.     vector<Mat> planes;  
  21.     split(image, planes); /// 將一個彩色三通道圖像分解為三個單通道圖像  
  22.     planes[0] += image3;  
  23.     merge(planes, result);  /// 將三個單通道圖像合并為一個彩色三通道圖像  
  24.     return result;  
  25. }  
  26.   
  27. int main()  
  28. {  
  29.     Mat image = imread("F:\\huangrong.jpg", 1);  
  30.     if(!image.data){  
  31.         cout << "fail to load image" << endl;  
  32.         return 0;  
  33.     }  
  34.     Mat image2 =Mat::zeros(image.rows, image.cols, image.type());  
  35.     //Mat image2(image.rows, image.cols, image.type(), Scalar(255, 255, 255));  
  36.     Mat result;  
  37.     result = addWeight(image, image2);  
  38.   
  39.     Mat result2;  
  40.     Mat image3 = Mat::zeros(image.rows, image.cols, CV_8UC1);  
  41.     result2 = addWeight2(image, image3);  
  42.     namedWindow("image");  
  43.     imshow("image", image);  
  44.     namedWindow("image2");  
  45.     imshow("image2", image2);  
  46.     namedWindow("result");  
  47.     imshow("result", result);  
  48.     namedWindow("result2");  
  49.     imshow("result2", result2);  
  50.     waitKey(0);  
  51.     return 0;  
  52. }  

Explaination:

(1)  以 上實現的是兩幅圖像相加,即可用opencv自帶的函數addWeighted,也可用重載的運算符+。其它如&,|,^,~等都被重載了。除了 加法,還有其它運算,如矩陣求逆m1.inv(),裝置m1.t(),矩陣行列式m1.determinant()等

(2)  split(image, planes);和merger(planes,image); 分別是將一個彩色三通道圖像分解為三個單通道圖像和將三個單通道圖像合并為一個彩色三通道圖像

Result:

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多