opencv函数copyto的用法
生活随笔
收集整理的這篇文章主要介紹了
opencv函数copyto的用法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、image.copyTo(ROI);
就是把image這張圖復(fù)制(copy to)到ROI上。
2、image.copyTo(ROI,mask);
則是不僅把image這張圖復(fù)制(copy to)到ROI上,且image對應(yīng)mask中像素值為0的像素點都不會貼到ROI上。
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;//全局變量
Mat dst, dst1, dst2;
//載入原圖
Mat src = imread("12.bmp", 1);void print()
{cout << "鍵盤按鍵【1】:將原圖復(fù)制并顯示" << endl;cout << "鍵盤按鍵【2】:image.copyTo(ROI,mask);把image這" << endl;cout << " 張圖復(fù)制到ROI上,且image對應(yīng)mask中像素值為0的像素點都不會貼到ROI上" << endl;cout << "鍵盤按鍵【Esc】:退出程序" << endl;cout << "————————————————————————————————————————" << endl;
}int main()
{print();//改變console(控制臺)字體顏色 system("color 0B");//判斷圖片是否讀入if (!src.data){printf("讀取圖片image0錯誤~! \n");return false;}//循環(huán)輪詢按鍵while (1){//先顯示原圖namedWindow("原圖");imshow("原圖", src);//獲取鍵盤按鍵int c = waitKey(0);//判斷ESC是否按下,若按下便退出if ((c & 255) == 27){cout << "程序退出!\n";break;}//根據(jù)按鍵的不同,進行各種操作switch ((char)c){case '1':cout << "您正在進行復(fù)制圖像操作" << endl;src.copyTo(dst);imshow("復(fù)制圖1", dst);break;case '2':cout << "您正在進行帶掩膜的復(fù)制圖像操作" << endl;dst1 = Mat::zeros(src.size(), src.type());//cout <<dst1.size() << endl;src.copyTo(dst2, dst1);imshow("復(fù)制圖2", dst2);break;}}return 0;
}
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的opencv函数copyto的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv阈值分割类型
- 下一篇: opencv仿射变换