W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在本教程中,您將學習如何:
從這里下載源代碼。
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
String imageName( "../data/HappyFish.jpg" ); // by default
if( argc > 1)
{
imageName = argv[1];
}
Mat image;
image = imread( imageName, IMREAD_COLOR ); // Read the file
if( image.empty() ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
代碼鏈接:點擊進入
在OpenCV 2中,我們有多個模塊。每個人負責處理不同的區(qū)域或方法。您可以在這些教程本身的用戶指南的結(jié)構(gòu)中觀察到這一點。在您使用其中任何一個之前,您首先需要包含聲明每個單獨模塊內(nèi)容的頭文件。
你幾乎總是最終使用:
#include < opencv2 / core.hpp >
#include < opencv2 / imgcodecs.hpp >
#include < opencv2 / highgui.hpp >
#include <iostream>
#include <string>
我們還包括iostream,以方便控制臺線路輸出和輸入。為了避免與其他庫的數(shù)據(jù)結(jié)構(gòu)和函數(shù)名沖突,OpenCV有自己的命名空間:cv。為了避免在每個這些cv ::關(guān)鍵字之前附加需要,您可以使用以下行在整個文件中導(dǎo)入命名空間:
using namespace cv;
對于STL庫也是如此(用于控制臺I / O)?,F(xiàn)在,我們分析一下主要功能。我們開始確保從命令行獲取有效的圖像名稱參數(shù)。否則默認拍照:“HappyFish.jpg”。
String imageName( "../data/HappyFish.jpg" ); // by default
if( argc > 1)
{
imageName = argv[1];
}
然后創(chuàng)建一個Mat對象,它將存儲加載的圖像的數(shù)據(jù)。
Mat image;
現(xiàn)在我們調(diào)用加載第一個參數(shù)(argv [1])指定的映像名稱的cv :: imread函數(shù)。第二個參數(shù)指定了我們想要的圖像的格式。這可能是:
image = imread( imageName, IMREAD_COLOR ); // Read the file
檢查圖像數(shù)據(jù)是否正確加載后,我們要顯示圖像,因此我們使用cv :: namedWindow函數(shù)創(chuàng)建一個OpenCV窗口。創(chuàng)建OpenCV后,它們將自動進行管理。為此,您需要指定其名稱,以及如何從大小角度處理其包含的圖像的更改??赡苁牵?/p>
namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
最后,要使用新的圖像更新OpenCV窗口的內(nèi)容,請使用cv :: imshow函數(shù)。指定要更新的OpenCV窗口名稱和此操作期間要使用的映像:
imshow( "Display window", image ); // Show our image inside it.
因為我們希望我們的窗口被顯示直到用戶按下一個鍵(否則程序會結(jié)束太快),所以我們使用cv :: waitKey函數(shù),其唯一的參數(shù)是等待用戶輸入需要多長時間毫秒)。零意味著永遠等待。
waitKey(0); // Wait for a keystroke in the window
./DisplayImage HappyFish.jpg
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: