OpenCV Qt入門
OpenCVのライブラリは本当に以前からコンパイルしたことがあって、その时も记录していないで、后で更に整理して、今日Qtの下でコンソールのプログラムを作成して、私は直接ソースコードを贴って、1つの1つの说明、実はこれらのコードも本の中から来て、私は翻訳して、更に少し私の自分の理解を加えて、みんなは原文を読むことができます
1、Qtのコンソールプログラムを作成する
2、プロジェクトプロファイルを修正する.Proファイル
4、マットタイプを簡単に紹介する
MatタイプはOpenCV画像記憶の基本タイプであり、OpenCVはこのタイプに対して自動的なメモリ管理を提供し、コピーを最適化した.通常のレプリケーションはMatタイプのヘッダ情報のみをコピーし、データは元のデータを指し、以下のようにする.
1、Qtのコンソールプログラムを作成する
2、プロジェクトプロファイルを修正する.Proファイル
QT += core
QT -= gui
TARGET = opcvtest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
### , OpenCV
INCLUDEPATH += D:\OpenCV\include
### -L gcc , -l
LIBS += -LD:\OpenCV\lib \
-lopencv_core230.dll \
-lopencv_highgui230.dll \
-lopencv_imgproc230.dll \
-lopencv_features2d230.dll \
-lopencv_calib3d230.dll
3、main.cppを以下のコードに置き換える#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream>
#include<string>
int main(int argc, char *argv[])
{
// sdl string , '\'
std::string dir="I:\\photo\\info_indexbg.png";
// ,Mat
// , 0, Mat size()
cv::Mat image;
// 0
std::cout << "size: " << image.size().height << " , "
<< image.size().width << std::endl;
//
image = cv::imread(dir);
// Mat data
if (!image.data) {
std::cout<<"no data be read
";
return 0;
}
//
std::cout << "size: " << image.size().height << " , "
<< image.size().width << std::endl;
// Windows , ,
cv::namedWindow(" ");
// Mat ,
cv::Mat result;
//OpenCV ,
cv::flip(image,result,-1); //
// 0
//
//
cv::imshow(" ",result);
// , OpenCV , jpg png,
cv::imwrite("output.png", result);
//
cv::waitKey(0); //0 , ms
return 0;
}
4、マットタイプを簡単に紹介する
MatタイプはOpenCV画像記憶の基本タイプであり、OpenCVはこのタイプに対して自動的なメモリ管理を提供し、コピーを最適化した.通常のレプリケーションはMatタイプのヘッダ情報のみをコピーし、データは元のデータを指し、以下のようにする.
cv::Mat ima(240,320,CV_8U,cv::Scalar(100));
cv::Mat image2, image3;
image2= ima; //
ima.copyTo(image3); // copy
CV_8U 8 8 ,U unsigned ,S signed,CV_8UC3 C3 3