接上篇文章…
一般的,乙個掃瞄的檔案是不可能完完全全擺正了的。它多多少少會有些傾斜。
現在有如下:
它逆時針進行了旋轉,那麼想要把多餘的白邊去掉且擺正應該怎麼做呢?
步驟如下:
1、邊緣檢測
2、找出輪廓
3、找出最小外接矩形,獲得旋轉的角度
4、根據旋轉的角度進行仿射變換
5、按切邊的操作進行
**(沒有用到的已注釋):
#include#include#includeusing namespace cv;
using namespace std;
mat src, dst, gray_src;
int current_level = 50;
int max_level = 255;
void cut_image(int, void*);
void rotating_image(int, void*);
const char* output_title = "rectminarea";
int main(int argc, char**argv)
//namedwindow(output_title,cv_window_autosize);
//createtrackbar("value", output_title, ¤t_level, max_level, cut_image);
//cut_image(0,0); //影象切邊
rotating_image(0,0); // 將影象旋轉成正的
imshow("input image", src);
waitkey(0);
return 0;
}//將影象旋轉成正的
void rotating_image(int, void*)
} printf("minw:%f\n", minw);
printf("minh:%f\n", minh);
printf("angle:%f\n", angle);//值為負數,說明逆時針旋轉,值為正數,說明順時針旋轉
for (size_t t = 0; t < contours.size(); t++)}}
imshow("showimg", showimg);
mat dst;
point2f center(src.cols/2, src.rows/2);
mat rota = getrotationmatrix2d(center, angle, 1.0);
warpaffine(src, dst, rota, src.size(), inter_linear,0,scalar(255,255,255));
imshow("correct image",dst);
//影象切邊
}//影象切邊
void cut_image(int, void*)
box = minrect.boundingrect();
} if (box.width > 0 && box.height > 0)
} imshow(output_title, showimg);
imshow("contours image", contoursimg); }
/* //做旋轉的**
int main()
*/
執行結果:
由此可以知道,該旋轉的角度是-45度,也就是逆時針旋轉了45度。
那麼就可以進行仿射變換:
mat dst;
point2f center(src.cols/2, src.rows/2);
mat rota = getrotationmatrix2d(center, angle, 1.0);
warpaffine(src, dst, rota, src.size(), inter_linear,0,scalar(255,255,255));
imshow("correct image",dst);
OpenCv C 小案例實戰 切邊 一
假如說現在有這麼一張如下 現在我想要去掉這張圖外面的白色區域,只留下紅色線框以內的部分。最終效果如圖所示 放上 include include includeusing namespace cv using namespace std mat src,dst,gray src int current...
OpenCv C 小案例實戰 物件提取
現在比如說我有這麼一張圖 我想要從中提取出 圓 的部分,那該怎麼做呢?用霍夫圓變換?no,萬一它不是乙個標準的圓呢?所以,這裡採用輪廓發現的方法來查詢 圓 解決思路 1 二值化 2 形態學操作 開運算 閉運算 3 輪廓點查詢 4 座標查詢。首先將影象進行二值化,輪廓點查詢需要二值化影象。先使用閉操作...
實戰 python爬蟲經典小案例彙總
所有例項 github位址 開始最好模仿,不要自己寫,錯了找不到原因 應用 搶票,投票,報告分析,飲食地圖,輿情監控 儲存資料 的方法大概可以分為幾類 儲存文字 儲存二進位制檔案 包括 儲存到資料庫 1.首先是獲取目標頁面 2.解析獲取的網頁中的元素,唯一定位,取得自己想要的 借助各種庫工具,分析頁...