// 读取图像
Mat image = Imgcodecs.imread("2023.jpg");
// 将图像转换为HSV格式
Mat hsv = new Mat();
Imgproc.cvtColor(image, hsv, Imgproc.COLOR_BGR2HSV);
// 定义颜色范围(例如:蓝色)
Scalar lowerBlue = new Scalar(100, 50, 50);
Scalar upperBlue = new Scalar(130, 255, 255);
// 创建掩码并应用
Mat mask = new Mat();
Core.inRange(hsv, lowerBlue, upperBlue, mask);
// 查找掩码中的轮廓
List<MatOfPoint> contours = new ArrayList();
Imgproc.findContours(mask, contours, new Mat(), Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);
List<MatOfPoint> selectList = new ArrayList();
int len = contours.size();
for(int i=0;i<len;i++){
MatOfPoint2f point = new MatOfPoint2f();
point.fromList(contours.get(i).toList());
double zc = Imgproc.arcLength(point, true);
if(zc>450 && zc < 510){
double area = Imgproc.contourArea(contours.get(i));
if(area> 4000 && area < 4500) {
selectList.add(contours.get(i));
System.out.println("zc: "+zc+",area: "+area);
}
}
}
System.out.println(selectList.size());
Imgproc.drawContours(image, selectList, -1, new Scalar(0, 255, 0), 5);
Imgcodecs.imwrite("2023-in3.jpg", image);
System.load("opencv_java455.dll");
Mat
Rect
Imgproc
Imgcodecs
Size
Core
Scalar
List<MatOfPoint> contours = new ArrayList()
边缘检测
Imgproc.Canny
周长
Imgproc.arcLength
Imgproc.approxPolyDP
轮廓
Imgproc.findContours
外围矩形
Rect rect = Imgproc.boundingRect(selectList.get(0))
裁剪图像
Rect rect =new Rect(1800, 1400, 800, 500);
Mat croppedImage = new Mat(img, rect);
高斯模糊
Imgproc.GaussianBlur
颜色空间转换
Imgproc.cvtColor
Imgcodecs.imread
Imgcodecs.imwrite
颜色区域提取
Core.inRange
Core.bitwise_and
Core.subtract
取反
Core.bitwise_not
BFMatcher
FeatureDetector.create(FeatureDetector.SIFT)
加载Haar分类器
CascadeClassifier faceDetector = new CascadeClassifier("haarcascade_frontalface_alt2.xml");
检测面部
faceDetector.detectMultiScale
MatOfRect
画矩形
Imgproc.rectangle
new Point(rect.x + rect.width, rect.y + rect.height)
去噪处理
Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, new Size(3, 3));
开运算
Imgproc.morphologyEx(binary, binary, Imgproc.MORPH_OPEN, kernel);
Imgproc.morphologyEx(binary, binary, Imgproc.MORPH_CLOSE, kernel);
Imgproc.matchTemplate
归一化
Core.normalize(bsrc, normalizedPoints, 0, 120, Core.NORM_MINMAX)
Imgproc.resize
分离前景 区域分割
Imgproc.grabCut
Imgproc.calcHist
Core.split
Imgproc.equalizeHist
Core.merge
Imgproc.threshold
Imgproc.erode
Imgproc.dilate
图像压缩
Imgproc.pyrDown
scale:用于调整图像的大小。
crop:用于裁剪图像。
rotate:用于旋转图像。
drawtext:用于在图像上添加文本。
watermark:用于在图像上添加水印。
convert:用于转换图像的颜色空间。
format:用于改变图像的格式。
colorspace:用于改变图像的颜色空间。
brightness:用于调整图像的亮度。
contrast:用于调整图像的对比度。
gamma:用于调整图像的gamma值。
hue:用于调整图像的色相。
saturation:用于调整图像的饱和度。
luminance:用于调整图像的亮度。
ssim:用于计算图像的 SSIM 质量指数。
psnr:用于计算图像的 PSNR 质量指数。
img.flatten()
分享到:
相关推荐
中文提取.中文提取.中文提取.中文提取.中文提取.中文提取.中文提取.中文提取.中文提取.中文提取.
确定前景目标的最小外接矩形框,方便为以后的特征提取划定范围
小米手机系统boot.img提取工具,能一键提取系统中的boot.img与其余镜像包 使用方法,将payload.bin放置payload_input文件夹中,双击payload_dumper.exe即可
资源中包含了两个m文件。...minboundrect.m用于绘制运动目标的最小外接矩形框,可任意设置最小外接矩形框的角度。 本人做的是视频中运动车辆的检测,读者可自行更换检测算法以及参数调整以匹配不同的运动场景。
matlab.峰值提取m文件.matlab程序 matlab.峰值提取m文件.matlab程序 matlab.峰值提取m文件.matlab程序 matlab.峰值提取m文件.matlab程序
用法:1、将system.img改名为system.img.ext4。2、命令行cd到simg2img.exe目录下,执行命令“simg2img.exe system.img.ext4 system.img”。3、打开ext2Explorer.exe后open img->"system.img",在界面右边右键save提取...
c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕颜色提取器c#屏幕...
屏幕颜色提取屏幕颜色提取屏幕颜色提取屏幕颜色提取
图像处理:颜色提取篇..........
bios.wph提取工具 拷贝到下载的Bios文件目录 运行cmd依次输入下列命令 cd 下载的Bios文件目录 回车 exfile bios文件名.fl1 bios.wph回车
基于matlab颜色特征图像检索的颜色特征的提取
网页颜色提取器 web形式 网页颜色提取器 web形式 网页颜色提取器 web形式 网页颜色提取器 web形式 网页颜色提取器 web形式 网页颜色提取器 web形式
颜色提取器 颜色提取器 颜色提取器 颜色提取器 颜色提取器 颜色提取器 颜色提取器
本文中提到的RGB色彩提取方法最为关键的也最为难以严格界定的地方是对于R/G/B三种颜色的判别规则,本文中提到的判别规则是更具R/G/B中某一颜色分量明显不小于其它分量时,即判别某像素点为某种颜色,并通过设置判别...
提取二值化处理后图片中多个对象的最小外包矩形,以及外包矩形的集合属性信息。
颜色提取可以提取不同图像的内容颜色,可以分别提取户部巷影响的内容可以快速的提取
颜色空间转换,把rgb彩色图像转换到lab颜色空间,用于提取颜色
可以选择屏幕某处的颜色,可以生成RGB格式 HTML格式等等等.