本篇文章為大家展示了使用OpenCV怎么實現一個圖像切割功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創新互聯公司咨詢熱線:028-86922220,為您提供成都網站建設網頁設計及定制高端網站建設服務,成都創新互聯公司網頁制作領域十年,包括成都展覽展示等多個領域擁有多年設計經驗,選擇成都創新互聯公司,為企業錦上添花!一、代碼部分:
#include "stdafx.h" #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> #include <vector> #include<string> #include<sstream> using namespace std; using namespace cv; //Cut an image into m*n patch void Cut_img(Mat src_img, int m, int n, vector<Mat> ceil_img) { int t = m * n; int height = src_img.rows; int width = src_img.cols; int ceil_height = height / m; int ceil_width = width / n; Mat roi_img; //String concatenation ostringstream oss; string str, str1, str2; Point p1, p2; for (int i = 0; i<m; i++) { for (int j = 0; j<n; j++) { Rect rect(j*ceil_width, i*ceil_height, ceil_width, ceil_height); src_img(rect).copyTo(roi_img); ceil_img.push_back(roi_img); oss << i; str1 = oss.str(); oss.str(""); oss << j; str2 = oss.str(); oss.str(""); str = "roi_img_" + str1 + "_" + str2; imshow(str, roi_img); IplImage *ipl_roi_img=&IplImage(roi_img); //save processed img char tmp[100]="\0"; sprintf(tmp,"..\\post_img\\71253_%d_%d.jpg",i,j); cvSaveImage(tmp,ipl_roi_img); } } } int _tmain(int argc, _TCHAR* argv[]) { char *img_name_path="..\\image\\71253.jpg"; Mat img = imread(img_name_path,1); imshow("src_img", img); waitKey(0); int m = 2; int n = 2; vector<Mat> ceil_img ; Cut_img(img, m, n, ceil_img); cvWaitKey(0); return 0; }
上述內容就是使用OpenCV怎么實現一個圖像切割功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯網站建設公司行業資訊頻道。
另外有需要云服務器可以了解下創新互聯建站m.newbst.com,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:使用OpenCV怎么實現一個圖像切割功能-創新互聯
文章鏈接:http://m.newbst.com/article4/dggoie.html
成都網站建設公司_創新互聯,為您提供網站建設、動態網站、網站制作、網站改版、標簽優化、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯