(17)圖片尺寸的縮放
對圖片尺寸的變化,主要是放大和縮小。
具體知識點看這個部落格:https://www.cnblogs.com/wyuzl/p/6294275.html
程式碼看這個部落格:https://www.cnblogs.com/skyfsm/p/6876732.html
=======================================================
resize程式碼實現:
1 #include<opencv2\opencv.hpp> 2 #include<opencv2\highgui\highgui.hpp> 3 4 using namespacestd; 5 using namespace cv; 6 7 //圖片的縮小與放大 8 int main() 9 { 10 Mat img = imread("C:\\Users\\32829\\Desktop\\aa.jpg"); 11 imshow("原始圖", img); 12 13 Mat dst = Mat::zeros(300, 300, CV_8UC3); //我要轉化為512*512大小的 14 resize(img, dst, dst.size()); 15 16 imshow("尺寸調整之後", dst); 17 18 waitKey(0); 19 20 }
結果展示:
=========================================================
1 //第二種,填入你要縮小或者放大的比率。 2 3 #include<opencv2\opencv.hpp> 4 #include<opencv2\highgui\highgui.hpp> 5 6 using namespace std; 7 using namespace cv; 8 9 //圖片的縮小與放大 10 int main() 11 { 12Mat img = imread("C:\\Users\\32829\\Desktop\\aa.jpg"); 13 imshow("原始圖", img); 14 15 Mat dst; 16 resize(img, dst, Size(), 0.5, 0.5);//我長寬都變為原來的0.5倍 17 18 imshow("尺寸調整之後", dst); 19 20 waitKey(0); 21 22 }
=====================================================
結果展示
===============================================
==============================================================
接下來說說影象金字塔
說白了,影象金字塔就是用來進行影象縮放的,乾的事情跟resize函式沒兩樣,那我們還需要學它嗎?我覺得有必要的額,因為在學習卷積神經網路中會遇到這個名詞,所以都學一學吧,搞圖形都繞不過他!
具體知識點,看這個部落格:https://www.cnblogs.com/skyfsm/p/6876732.html
============================================================
下面就是用的影象金字塔的知識,弄的圖片
=====================================
1 //下面給出OpenCV中pryUp和pryDown的用法。 2 3 #include<opencv2\opencv.hpp> 4 #include<opencv2\highgui\highgui.hpp> 5 6 using namespace std; 7 using namespace cv; 8 9 //影象金字塔 10 int main() 11 { 12 Mat img = imread("C:\\Users\\32829\\Desktop\\aa.jpg"); 13 imshow("原始圖", img); 14 15 Mat dst, dst2; 16 pyrUp(img, dst, Size(img.cols * 2, img.rows * 2)); //放大一倍 17 pyrDown(img, dst2, Size(img.cols * 0.5, img.rows * 0.5)); //縮小為原來的一半 18 imshow("尺寸放大之後", dst); 19 imshow("尺寸縮小之後", dst2); 20 21 waitKey(0); 22 23 }
===========================================
下面是結果展示
============================================
================================================================
總結:
顯然,無論是放大還是縮小,影象都變得模糊了,這就是他的致命缺點。
個人認為,要做縮放就用resize函式吧,畢竟方便太多而且影象不會變模糊!