openCV根据图片生成mask掩膜,再根据mask生成ROI图片
需求背景
获取ROI图片:现在有一张图片,用户能够在坐标上选择一些点组成一个区域,这个区域称为用户感兴趣的区域,需要利用mask掩膜生成,需要生成mask图片、ROI图片,要求使用OpenCV+Java实现。
概念解释
ROI
ROI: region of interest 感兴趣的区域
openCV
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法。
掩膜mask
什么是图像处理中的mask(遮罩),OpenCV中是如此定义Mask的:八位单通道的Mat对象,每个像素点值为零或者非零区域。当Mask对象添加到图像区上时,只有非零的区域是可见,Mask中所有像素值为零与图像重叠的区域就会不可见,也就是说Mask区域的形状与大小直接决定了你看到最终图像的大小与形状。

可以看出,mask的作用是可以帮助我们提取各种不规则的区域。
代码实现
import org.opencv.core.*;
import org.opencv.core.Point;
import org.opencv.imgproc.Imgproc;
import java.util.ArrayList;
import java.util.List;
public class MyTest{
/**
* demo:根据原图片生成mask,再根据mask生成ROI图片
*/
@Test
public void testCreateROI() throws IOExc

该博客介绍了如何使用OpenCV和Java来生成图像的ROI(感兴趣区域)和掩膜。首先,用户指定图像上的点来定义区域边界,然后通过fillPoly函数创建掩膜。生成的掩膜可以保存为单独的图片,之后利用掩膜复制原图像的部分区域生成ROI图片。提供的代码示例详细展示了整个过程,并包含两个方法,一个用于创建掩膜,另一个用于生成ROI图片。
最低0.47元/天 解锁文章
35

被折叠的 条评论
为什么被折叠?



