GPT答: |
7i24.cn
|
要实现多个ROI区域显示,包含文本、圆形、矩形等样式,并支持颜色、粗细等画笔设置,可以使用OpenCV的C++版本来实现。下面是一个示例代码:
```cpp
#include <opencv2/opencv.hpp>
int main()
{
// 创建一个空白图像
cv::Mat image(500, 500, CV_8UC3, cv::Scalar(255, 255, 255));
// 定义ROI区域1的位置和大小
cv::Rect roi1(50, 50, 200, 100);
// 在ROI区域1内绘制矩形框
cv::rectangle(image(roi1), cv::Scalar(0, 0 ,255), 2);
// 在ROI区域1内绘制圆形
cv::circle(image(roi1), cv::Point(150 ,75), 30 ,cv::Scalar(0 ,255 ,0) ,-1);
// 在ROI区域1内添加文本
cv:putText(image,"Region of Interest",cv:Point (50 ,40) ,
cv:FONT_HERSHEY_SIMPLEX ,0.7,cv:Scalar (0 ,0 ,
255) );
// 定义ROI区域2的位置和大小
cv : Rect roi2 (300 ,200 ,150 ,100 ) ;
//在 ROI 区 块 内 绘 制 线 条
cv : line (image ( roi2) ,cv : Point(300 ,200),
c v : Point(450,300) ,cv : Scalar(255,0,0),2) ;
// 显 示 图 像
cv : imshow ("ROI Demo" ,image) ;
cv : waitKey (0) ;
return 0;
}
```
在这个示例中,我们首先创建了一个空白图像。然后定义了两个ROI区域:roi1和roi2。在roi1区域内绘制了一个矩形框、一个圆形和一段文本;在roi2区域内绘制了一条线条。
最后通过imshow函数显示图像,并使用waitKey函数等待用户按下任意键退出程序。
你可以根据自己的需求修改代码中的ROI区域位置、大小以及绘制的样式和属性。
|