Opencv载入图片并显示的问题
本文為原創(chuàng)作品,轉(zhuǎn)載請注明出處
歡迎關(guān)注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/
?
美女圖片一張,測試加欣賞,一舉兩得!
?
?
??????????????????????????
問題:在opencv顯示圖片的過程中,如果圖片特別大,比屏幕分辨率還要大的話,那么在顯示圖像的時候就有可能出現(xiàn)一種情況,圖片占滿屏幕,或者圖片只顯示一部分,不能全部顯示出來。如下圖:
前后兩張圖片做一下對比,發(fā)現(xiàn)opencv顯示的圖片,美女的前面一塊地少了一塊,不能把整張圖片顯示完全。
?
解決方法:Opencv提供了一個可以調(diào)整顯示窗口的函數(shù),該函數(shù)可以對圖像所要顯示的窗口進行縮放,也就是自動調(diào)整顯示的窗口值,使圖像可以完整地顯示出來。
1、函數(shù)原型:cvNamedWindow(constchar*name,
intflagsCV_DEFAULT(CV_WINDOW_AUTOSIZE))
功能:定義顯示圖像的界面窗口
參數(shù):
Name:窗口的名稱
Flags:該參數(shù)默認值為CV_WINDOW_AUTOSIZE=1使用默認值,圖像會顯示原始圖像的大小,于是就會出現(xiàn)上述的顯示不完全,或者占滿屏的現(xiàn)象,于是需要調(diào)整顯示窗口的大小,對圖像進行縮放,此時該參數(shù)就不能設(shè)置成為1.
2、函數(shù)原型:cvResizeWindow(constchar*name,
intwidth,
intheight);
功能:調(diào)整顯示窗口大小
參數(shù):
Name:定義要調(diào)整的窗口名稱
Width:重新定義窗口的寬度
Height:定義窗口的高度
?
代碼:
#include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #define TestWindow "測試圖窗口" using namespace cv; int main() {// 讀入一張圖片(測試圖) Mat img = imread("測試圖.jpg", 1);// 創(chuàng)建一個名為 "測試圖窗口"窗口 cvNamedWindow(TestWindow, 0);//對該窗口進行大小重新定義cvResizeWindow(TestWindow, 500, 500);// 在窗口中顯示測試圖 imshow(TestWindow, img);//waitKey(0); } 結(jié)果顯示如下圖:
?
如上圖所示,美女的圖片整張全部完全顯示在屏幕上。完成!
福利答謝大家!
感謝您閱讀本篇文章,對此特別發(fā)放一個無門檻的現(xiàn)金紅包,打開支付寶掃碼領(lǐng)取,可以領(lǐng)到錢的哦!
總結(jié)
以上是生活随笔為你收集整理的Opencv载入图片并显示的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十八节:教你如何使用ES6的Promi
- 下一篇: C++编译链接的那些小事