Tag: image processing

红眼减lessalgorithm

我需要为我正在处理的应用程序实施红眼减less。 谷歌search主要提供商业terminal用户产品的链接。 你知道一个好的红眼减lessalgorithm,可以在GPL应用程序中使用吗?

读取JPEG元数据时的问题(方向)

我有一个在iPhone上拍摄的JPEG图像。 在我的台式电脑(Windows照片查看器,谷歌浏览器等)方向是不正确的。 我正在一个ASP.NET MVC 3 Web应用程序,我需要上传照片(目前正在使用plupload)。 我有一些服务器端代码来处理图像,包括读取EXIF数据。 我已经尝试读取EXIF元数据中的PropertyTagOrientation字段(使用GDI – Image.PropertyItems ),但该字段不存在。 所以它是一些特定的iPhone元数据,或者其他元数据。 我已经使用了像Aurigma Photo Uploader这样的工具,它正确地读取元数据并旋转图像。 这是怎么做到的? 有没有人知道其他JPEG元数据可能包含所需的信息,以便知道它需要旋转,这是由Aurigma使用? 这里是我用来读取EXIF数据的代码: var image = Image.FromStream(fileStream); foreach (var prop in image.PropertyItems) { if (prop.Id == 112 || prop.Id == 5029) { // do my rotate code – eg "RotateFlip" // Never get's in here – can't find these properties. […]

使用opencv从图像中去除水印

首先,我有这个图像,我想做一个应用程序,可以检测像这样的图像,并从中删除圆(水印)。 int main(){ Mat im1,im2,im3,gray,gray2,result; im2=imread(" (2).jpg"); namedWindow("x",CV_WINDOW_FREERATIO); imshow("x",im2); //converting it to gray cvtColor(im2,gray,CV_BGR2GRAY); // creating a new image that will have the cropped ellipse Mat ElipseImg(im2.rows,im2.cols,CV_8UC1,Scalar(0,0,0)); //detecting the largest circle GaussianBlur(gray,gray,Size(5,5),0); vector<Vec3f> circles; HoughCircles(gray,circles,CV_HOUGH_GRADIENT,1,gray.rows/8,100,100,100,0); uchar x; int measure=0;int id=0; for(int i=0;i<circles.size();i++){ if(cvRound(circles[i][2])>measure && cvRound(circles[i][2])<1000){ measure=cvRound(circles[i][2]); id=i; } } Point center(cvRound(circles[id][0]),cvRound(circles[id][1])); int radius=cvRound(circles[id][2]); circle(im2,center,3,Scalar(0,255,0),-1,8,0); circle(im2,center,radius,Scalar(0,255,0),2,8,0); […]

AForge和OpenCV的区别

我只是学习计算机视觉和C#。 看起来像两个突出的image processing库是OpenCV和AForge 。 这两者有什么区别? 我正在用C#编写一个基本的图像编辑器,而在研究过程中,我也遇到过两篇文章。 但我真的不知道为什么我会select一个。 我想最终改进应用程序,以包括更多的高级function。 谢谢。

如何根据方向元数据旋转JPEG图像?

我有一些服务器代码,当图片上传时产生缩略图。 问题在于,当图像被拍摄并且相机/设备被旋转时,即使全尺寸图像本身在任何图像查看软件中以正确的方向被显示,缩略图也被旋转。 这只是与jpgs发生。 在OSX上使用预览,我可以看到jpgs中embedded了方向元数据。 当我使用ImageTools(Grails插件)生成缩略图时,EXIF元数据不在缩略图中,这就是缩略图旋转的原因。 通过离线对话,我了解到虽然读取EXIF元数据相对比较容易,但没有简单的方法来编写它,这就是生成jpg缩略图时数据丢失的原因。 所以看来我有两个select: 使用ImageMagick生成缩略图。 缺点是它需要在我们的服务器上安装更多的软件。 读取EXIF方向数据是代码并适当地旋转缩略图。 有谁知道任何其他的select?

如何在C#中像素级别操作图像

如何在C#中的像素级别操作图像? 我需要能够分别读取/修改每个位图像素的RGB值。 代码示例将不胜感激。

检测图片的“整体平均”颜色

我有一个JPG图像。 我需要知道“整体平均”图像的颜色。 乍一看,可以使用图像的直方图(通道RGB)。 在工作中,我主要使用JavaScript和PHP(一个小Python),因此欢迎这些语言的决定。 也许是图书馆工作与图像,解决类似的问题。 我不需要dynamic确定图片的颜色。 我只需要经过整个图像arrays,并分别确定每个图像的颜色(这些信息我将记住以备将来使用)。

模块'对象没有属性'drawMatches'opencv python

我只是在OpenCV中做function检测的一个例子,我刚刚举了一个例子,如下所示。 它给我一个错误,像模块'对象没有属性'drawMatches'我检查了OpenCV文档。 为什么我得到这个错误? import numpy as np import cv2 import matplotlib.pyplot as plt img1 = cv2.imread('box.png',0) # queryImage img2 = cv2.imread('box_in_scene.png',0) # trainImage # Initiate SIFT detector orb = cv2.ORB() # find the keypoints and descriptors with SIFT kp1, des1 = orb.detectAndCompute(img1,None) kp2, des2 = orb.detectAndCompute(img2,None) # create BFMatcher object bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) # […]

用于检测点“簇”的algorithm

我有一个分布在这个区域的“点”的2D区域。 我现在正在尝试检测点的“簇”,即具有一定高密度点的区域。 任何想法(或带有想法的文章的链接)如何优雅地检测这些区域?

图像压缩工具通过命令行

我正在寻找最好的工具来通过命令行压缩图像(PNG和JPEG)。 谷歌search后,我发现trimage这是好的,因为它压缩PNG和jepeg,但在这种情况下,压缩比很差。 我遇到了jpeg-optimizer.com在线工具,它的工作方式比trimage更好。 任何人都可以帮助find合适的工具。