有用到opencv處理影像
但是老師對於我們每一次換圖片處理時
就要修改一次程式碼(需要改路徑)覺得奇怪
表示可以寫成圖形化介面
痾 我不會寫圖形化介面
有寫過C#,可是已經很久沒碰了
而且我之前使用C# + opencv處理起來有點麻煩
於是在網路上進而尋找有沒有我可以學習的
其實之前有買了一本視窗程式相關的
只是後來沒什麼時間看...
放在那邊...
之前是有看到MFC
MFC是微軟在1992年發行的,是一個以C++開發的應用程式框架,但只能在微軟的作業系統上執行,有應用程式精靈來協助生成代碼,加快程式開發人員的開發速度,但是MFC的一些封裝過程複雜,以致於開發人員較難掌握其中的架構和用法。雖然目前仍隨著visual studio發行,但更新緩慢且不是微軟關注的項目,不建議新的應用程式以此框架進行開發。
恩...
但我最後找到了Qt
Qt第一版於1995年由Trolltech(奇趣科技)發布,2008 年Nokia收購TrollTech,2012年Nokia將Qt 出售給Digia。Qt是一個以C++開發的跨平台應用程式框架,提供的功能豐富,文件詳細且網路、書本資源豐富,也有專屬的IDE,儘管使用style機制巧妙地模擬了原生界面,有時還是和原生風格有點差異。另外Qt 不僅能夠運行在桌面環境中,還可以運行在嵌入式平台以及手機平台(目前唯一有支援移動平台的C語言框架)。另外有分商業版和開源版兩種,商業版能在有效期限內免費升級和技術支持服務,開源版提供同樣的功能,在GNU通用公共許可證下是免費的。
維基:
https://zh.wikipedia.org/zh-tw/Qt
感覺就很適合我啊
沒有很多人學
甚至我去問電腦補習班的老師相關書籍及資訊
老師都說Qt比較少人學習
書本資訊也比較少
還是有建議我幾本書 但目前都缺貨...
還請各位先進多多推薦
因為剛接觸到就要交作業
所以馬上就...寫了一個稍微可以用的小程式
能夠開啟圖片檔案必且能轉成灰階
後面還有許多處理就先不放了
畢竟我只借用到開啟檔案的部分而已
程式碼的內容
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include
cv::Mat src;
cv::Mat grayimg;
cv::Mat ycbcr;
cv::Size size_src;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QString filename = QFileDialog::getOpenFileName(this,"Open an image filename",".","Image Files(*.jpg *.png)");
if(!filename.isEmpty())
{
src = cv::imread(filename.toStdString().data());
size_src=src.size();
cv::imshow("src",src);
}
else
{
filename.clear();
}
}
void MainWindow::on_pushButton_2_clicked()
{
cv::cvtColor(src,grayimg,CV_RGB2GRAY);
cv::imshow("gray",grayimg);
}
void MainWindow::on_pushButton_3_clicked()
{
cv::cvtColor(src,ycbcr,CV_RGB2YCrCb);
cv::imshow("YCbCr",ycbcr);
}
目前opencv用在Qt上沒什麼問題
也有很多網站可以查詢
阿洲的程式教學
http://monkeycoding.com/?page_id=5
推薦這裡
希望在接下來2個月
可以把Qt使用的更上手
也希望各位能給我指導
沒有留言:
張貼留言