Tag: 图像处理

什么是OpenCV模板匹配Max Min值范围? 需要用作theshold / c ++ / java

我正在使用模板匹配创建一个简单的openCV应用程序,我需要比较在大图像中查找小图像并返回结果为true(如果匹配找到)或false(未找到匹配项)。 Imgproc.matchTemplate(largeImage, smallImage, result, matchMethod); Core.normalize(result, result, 0, 1, Core.NORM_MINMAX, -1, new Mat()); MinMaxLocResult mmr = Core.minMaxLoc(result); double minMaxValue = 1; if (matchMethod== Imgproc.TM_SQDIFF || matchMethod== Imgproc.TM_SQDIFF_NORMED) { minMaxValue = mmr.minVal; useMinThreshold = true; } else { minMaxValue = mmr.maxVal; } 现在的问题是使用这个minMaxValue做出决定(真/假)。 我知道上面两种方法TM_SQDIFF和TM_SQDIFF_NORMED返回低值,而其他方法返回高值,所以我可以有2个不同的阈值并比较一个阈值(取决于模板方法类型)。 因此,如果有人可以解释MinMaxLocResult返回的minVal和maxVal范围是多么好。 是0到1范围? 如果是,对于Max类型模板方法,值1是完美匹配?

在r或其他软件中查找草图图像的坐标(例如,以照片格式扫描)

我想用多边形重绘R中的任何草图。 但我需要一项艰苦的工作才能找到坐标(每个点的X或Y值)。 是否有任何R包或其他软件可以从图像中找到坐标? 因此,输出将是具有相当高的点数(x,y)的数据,以便可以重新创建该图。 编辑:…….. 以下是示例: (1)地图轮廓例如: 第二个例子: (2)对象形状示例:

如何确定颜色是接近白色还是黑色?

我正在处理肤色,并想确定一个人的肤色是否接近白色或黑色。 所以给定一种颜色 ,如何确定它是接近白色肤色还是黑色肤色? 我尝试了一些noobish算法,有谁知道我怎么做到这一点?

如何检测图像是照片,剪贴画还是线条图?

识别图像类型的最佳方法是什么? rwong对这个问题 的 回答表明Google将图像分为以下几组: 照片 – 连续色调 剪贴画 – 光滑的阴影 画线 – 双色调 将图像分类为其中一个组的最佳策略是什么? 我目前正在使用Java,但欢迎任何一般方法。 谢谢! 更新: 我尝试了tyjkenn在评论中提到的独特颜色计数方法,它似乎适用于我尝试过的大约90%的案例。 特别是使用独特的颜色计数难以正确地检测黑白照片。 获取图像直方图并单独计算窥视图似乎不是一个可行的选择。 例如,此图像只有两个峰值: 这是我检查过的另外两张图片:

用Java将文本写入图像

是否有Java库可以将文本写入图像,与PHP的GD库相同。

Java中的人脸识别

任何人都可以建议我用Java开源面部识别框架吗?

Java / Processing中的面部识别

我正在做一个需要面部识别的项目。 我试图找到这个的Java实现。 我不是在寻找面部检测。 我们正尝试通过实时摄像头进行面部识别。 有没有办法在Java或Processing中实现它? 目前我能找到的唯一一种是C型,这对我来说不起作用。

在单个图像中检测多个图像

我需要帮助来识别边框并将图像与原始图像进行比较。 我需要指导如何通过处理或matlab或任何初学者来实现这一目标。 例如,看下面的图像。 原始图片: 多重图像:

如何在java中通过Bilinear Interpolation缩小图像?

我正在尝试读取图像,将其放大到80 * 60,然后通过双线性插值方法将结果图像缩小5次。 但我收到此错误:线程“main”中的exceptionjava.lang.ArrayIndexOutOfBoundsException:4800。 有人可以帮我吗? 这就是我所做的: import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; import java.awt.image.WritableRaster; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; import javax.imageio.ImageIO; public class BiInterpolationTest { public static int zh; public static int zw; public static void main(String[] args) throws IOException { // TODO Auto-generated method stub […]

OpenCV Android Track激光点

我正试图在Android设备上使用OpenCV跟踪激光点。 我想用这个激光点画在canvas上,canvas放在我的摄像头视图上。 我已经将我的camerapreview转换为HSV色彩空间并使用阈值滤波(仅在H和V通道上)来分离我的激光点。 这非常有效。 public Mat onCameraFrame(CvCameraViewFrame cvf) { // Grab the video frame cvf.rgba().copyTo(originalFrame); cvf.rgba().copyTo(frame); // Convert it to HSV Imgproc.cvtColor(frame, frame, Imgproc.COLOR_RGB2HSV); // Split the frame into individual components (separate images for H, S, // and V) mChannels.clear(); Core.split(frame, mChannels); // Split channels: 0-H, 1-S, 2-V frameH = mChannels.get(0); // frameS = mChannels.get(1); […]