随笔 - 632  文章 - 17  评论 - 54  阅读 - 93万

OpenCV裁剪指定区域并进行灰度化

一、概述

  案例:裁剪一个图片的指定区域,并发裁剪后的ROI区域进行灰度化。

 

二、内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//1.输出原图(imshow中的显示文件名最好不要用中文,否则有可能会出现异常,如图片不显示,标题不显示等问题)
   Mat src = imread(path.toStdString());//从磁盘中加载一张图片
   imshow("src",src);
   //2.定义ROI(裁剪图片最中间的部分)
   int width = src.cols;//获取图片的宽度
   int height = src.rows;//获取图片的高度
   //截取图片最中间的部分
   Rect rect = Rect(width/4,height/4,width/2,height/2);
   Mat copySrc;
   src.copyTo(copySrc);
   Mat roi = copySrc(rect);//从原图中截取最中间的部分放入Mat roi中
   src.release();
   copySrc.release();
   //3.输出ROI区域的内容
   imshow("roi",roi);
   //4.将ROI区域转换为灰度图
   Mat roiGray ;
   cvtColor(roi,roiGray,COLOR_BGR2GRAY);
   imshow("roi gray Image",roiGray);
   if(!roiGray.empty()){
      roiGray.release();
      roiGray = 0;
   }

  

posted on   飘杨......  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2022-07-13 ffmpeg解码流程
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示