OpenCV切割图片
生活随笔
收集整理的這篇文章主要介紹了
OpenCV切割图片
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
裁剪圓形圖片:
/ //將圖片裁剪為圓圖片 從原圖片的X1,Y1點開始裁剪寬度為radius高度為radius的圖片 //*image 帶進來的圖片句柄 //*outmage 輸出圖像句柄 圖片大小應該是寬度為radius高度為radius的圖片 //將圖片裁剪成圓形 //x1,y1為圓心坐標 //radius圓半徑 int CircularCut(Mat *image,Mat *outmage,int x1,int y1,int radius) {Point center(x1,y1);circle((*image), center, radius, Scalar(0, 0, 255), 2, 8, 0); for (int x = x1-radius; x < x1+radius; x++) { for (int y = y1-radius; y < y1+radius; y++) { int temp = ((x - center.x) * (x - center.x) + (y - center.y) *(y - center.y)); if (temp < (radius * radius)) { outmage->at<Vec3b>(Point(x, y))[0] = image->at<Vec3b>(Point(x, y))[0]; outmage->at<Vec3b>(Point(x, y))[1] = image->at<Vec3b>(Point(x, y))[1]; outmage->at<Vec3b>(Point(x, y))[2] = image->at<Vec3b>(Point(x, y))[2]; } } } return 1; }(1)cvCircle函數
cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)img為源圖像指針
center為畫圓的圓心坐標
radius為圓的半徑
color為設定圓的顏色,規則根據B(藍)G(綠)R(紅)
thickness 如果是正數,表示組成圓的線條的粗細程度。否則,表示圓是否被填充
line_type 線條的類型。默認是8
shift 圓心坐標點和半徑值的小數點位數
?
總結
以上是生活随笔為你收集整理的OpenCV切割图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建了个微信交流群,和我一起在 b 站学
- 下一篇: oracle 11g 服务启动后 监听程