Tag: image processing

OpenCV C ++ / Obj-C:高级平方检测

前一阵子我问了一个关于方形检测的问题 , 卡尔菲利普得出了一个相当好的结果。 现在我想更进一步,find那些边缘不完全可见的正方形。 看看这个例子: 有任何想法吗? 我正在使用karlphillips代码: void find_squares(Mat& image, vector<vector<Point> >& squares) { // blur will enhance edge detection Mat blurred(image); medianBlur(image, blurred, 9); Mat gray0(blurred.size(), CV_8U), gray; vector<vector<Point> > contours; // find squares in every color plane of the image for (int c = 0; c < 3; c++) { int ch[] = […]

合并两个图像

我需要在Java中合并两个图像(BufferedImage)。 如果没有透明度,这不成问题。 基本图像已经有一些透明度。 我想保持原样,并在其上应用“蒙版”,第二个图像。 这第二个图像没有不透明的像素,事实上它几乎是完全透明的,只是有一些透明度较低的像素来提供某种“光效”,就像reflection一样。 重要的细节:我不想在屏幕上,使用graphics来做到这一点,我需要获得与合并结果的BufferedImage。 任何人都可以帮我吗? 谢谢! 细节:合并保持透明度的两张图片。 这是我需要做的。 注意:这个在Java中设置BufferedImage alpha蒙版并没有做我所需要的,因为它不能很好的处理两个图像的透明度 – 它修改了第一个图片的透明度。

如何定义OpenCV中stream域的标记?

我正在用OpenCV为Android写作。 我使用标记控制分水岭来分割类似于下图的图像,而无需用户手动标记图像。 我打算使用区域最大值作为标记。 minMaxLoc()会给我的价值,但我怎么能限制它是我感兴趣的blob? 我可以利用findContours()或cvBlob blob的结果限制ROI并将最大值应用于每个blob?

image processing,以提高tesseract OCR的准确性

我一直在使用tesseract将文档转换为文本。 文档的质量范围很广,我正在寻找什么样的image processing可以改善结果的提示。 我注意到,高度像素化的文本(例如由传真机生成的文本)对于处理来说特别困难 – 大概所有那些锯齿状的边缘与字符混淆了形状识别algorithm。 什么样的image processing技术可以提高准确度? 我一直在使用高斯模糊平滑像素化的图像,并看到一些小的改进,但我希望有一个更具体的技术,会产生更好的结果。 说一个filter,调整为黑白图像,这将平滑不规则的边缘,其次是一个filter,这将增加对比度,使字符更清晰。 对于在image processing方面是新手的人来说,任何一般的提示?

OpenCV Birdseye视图不会丢失数据

我正在使用OpenCV获取捕获帧的birdseye视图。 这是通过在飞机上提供一个棋盘图案来完成的,这将形成birdseye视图。 虽然看起来相机在这个平面上已经很漂亮了,但为了确定像素和厘米之间的关系,我需要它是完美的。 在下一个阶段捕捉帧正在被扭曲。 它给出了预期的结果: 但是,通过执行这种转换,棋盘格外的数据正在丢失。 我需要的是旋转图像,而不是扭曲已知的四边形。 问题:如何通过摄像机angular度旋转图像以便自上而下? 一些代码来说明我目前正在做什么: Size chessboardSize = new Size(12, 8); // Size of the chessboard Size captureSize = new Size(1920, 1080); // Size of the captured frames Size viewSize = new Size((chessboardSize.width / chessboardSize.height) * captureSize.height, captureSize.height); // Size of the view MatOfPoint2f imageCorners; // Contains the imageCorners obtained in […]

将BMP图像转换为绘图仪的指令集?

我有一个这样的绘图仪: 我必须执行的任务是将24位BMP转换为该绘图仪的一组指令。 在绘图仪中,我可以改变16种常见的颜色。 我面临的第一个复杂性就是颜色的减less。 我面对的第二个复杂性是如何将像素转换成绘图指令集。 因为使用油漆的绘画工具刷将被使用。 这意味着绘图机的绘制线不会太小,而且会比较短。 请提出可以用来解决这个图像数据转换问题的algorithm? 一些初步结果:

如何将exif数据添加到图像?

在我们的网站上,我们从各种来源上传了大量的照片。 为了保持文件大小,我们使用mogrify从源文件中去除所有的exif数据 : mogrify -strip image.jpg 我们希望能够做的是插入一些基本的exif数据(版权Initrode等)回到这个新的“干净的”图像,但我似乎无法find任何文件,将实现这一目标。 有没有人有这样的经验? 如果不能通过imagemagick完成,基于PHP的解决scheme将是下一个最好的事情! 谢谢。

c#图像resize,同时保留宽高比

我正在尝试调整图像的大小,同时保留原始图像的宽高比,以免新图像变形。 例如: 将150 * 100图像转换为150 * 150图像。 高度的额外50个像素需要填充白色背景颜色。 这是我正在使用的当前代码。 对于resize非常有效,但是改变原始图像的纵横比可以压缩新图像。 private void resizeImage(string path, string originalFilename, int width, int height) { Image image = Image.FromFile(path + originalFilename); System.Drawing.Image thumbnail = new Bitmap(width, height); System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(thumbnail); graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; graphic.SmoothingMode = SmoothingMode.HighQuality; graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; graphic.CompositingQuality = CompositingQuality.HighQuality; graphic.DrawImage(image, 0, 0, width, height); System.Drawing.Imaging.ImageCodecInfo[] […]

图像/graphics成形

我想知道是否有任何方法将图像/graphics转换成Shape ? 例如,我可以将摩托车形状的轮廓转换成一个Shape所以我可以在Java中使用它? 我知道你可以用正方形或圆angular,多边形等来做到这一点。但有没有办法做一个自定义形状?

图像指纹比较许多图像的相似性

我需要创build许多图像的指纹(大约100.000现有,每天1000新,RGB,JPEG,最大尺寸800×800),以比较每一个图像与其他图像非常快。 我不能使用二进制比较方法,因为也应该识别几乎相似的图像。 最好是现有的图书馆,但也有一些提示现有的algorithm会帮助我很多。