基于Opencv和Java识别图片中的黑色矩形
思路:
二值化,将纯黑的保留,其他颜色转为白色
去噪,将散乱的黑点去掉,
求边缘轮廓,求出最大的边缘
从最大边缘中求出最小的 x,最小的y,最大的x,最大的y.(不规则图形就去它的外接矩形)
1.官网下载Opencv
2.在eclipse中添加jar包
3.在jvm中添加参数,-Djava.library.path=C:\Java\opencv\build\java\x64(path后的路径是opecv中一个dll路径的目录,可以参照我的目录去寻找)
全文代码:
package com.ebupt.ringtone_video_hub.create_video.taskv2.render;
import org.bytedeco.javacv.Java2DFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter;
import org.javatuples.Quartet;
import org.junit.Test;
import org.opencv.core.*;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
i