Tag: image processing

Viola-Jones的人脸检测声称有180k的function

我一直在实施Viola-Jones的人脸检测algorithm 。 该技术依赖于在图像内放置24×24像素的子帧,随后将矩形特征放置在每个可能的大小的位置。 这些function可以由两个,三个或四个矩形组成。 下面的例子被提出。 他们声称详尽的集合超过了18万(第2节): 由于探测器的基本分辨率为24×24,所以矩形特征的穷尽集合相当大,超过18万。 请注意,与哈尔基不同,矩形特征集是过度完整的。 下面的陈述没有在论文中明确说明,所以他们是我的假设: 只有2个两个矩形特征,2个三个矩形特征和1个四个矩形特征。 这背后的逻辑是,我们正在观察突出显示的矩形之间的差异 ,而不是显式的颜色或亮度或任何types的东西。 我们不能将特征typesA定义为1×1像素块; 它至less必须至less有1×2像素。 此外,typesD必须至less为2×2像素,并且此规则相应地适用于其他function。 我们不能将特征typesA定义为1×3像素块,因为中间像素不能被分割,并且从其本身减去它与1×2像素块相同; 这个特征types只在偶数宽度上定义。 此外,要素typesC的宽度必须可以被3整除,并且这个规则相应地适用于其他特征。 我们无法定义宽度和/或高度为0的要素。因此,我们将x和y迭代到24减去要素的大小。 基于这些假设,我已经计算了详尽的集合: const int frameSize = 24; const int features = 5; // All five feature types: const int feature[features][2] = {{2,1}, {1,2}, {3,1}, {1,3}, {2,2}}; int count = 0; // Each feature: for (int i = […]

调整/缩放位图后图像质量不佳

我正在写一个纸牌游戏,需要我的卡在不同的情况下是不同的大小。 我将图像存储为位图,以便可以快速绘制和重绘(用于animation)。 我的问题是,无论我如何尝试和缩放我的图像(无论是通过matrix.postScale,matrix.preScale或createScaledBitmap函数),他们总是出现像素化和模糊。 我知道它的缩放导致的问题,因为图像看起来完美绘制时不resize。 我已经完成了这两个线程中描述的每个解决scheme: 在运行时调整图像的android质量 在运行时调整图像的质量问题 但仍然没有得到任何地方。 我用这个代码存储我的位图(到一个hashmap): cardImages = new HashMap<Byte, Bitmap>(); cardImages.put(GameUtil.hearts_ace, BitmapFactory.decodeResource(r, R.drawable.hearts_ace)); 并用这个方法绘制它们(在一个Card类中): public void drawCard(Canvas c) { //retrieve the cards image (if it doesn't already have one) if (image == null) image = Bitmap.createScaledBitmap(GameUtil.cardImages.get(ID), (int)(GameUtil.standardCardSize.X*scale), (int)(GameUtil.standardCardSize.Y*scale), false); //this code (non-scaled) looks perfect //image = GameUtil.cardImages.get(ID); matrix.reset(); matrix.setTranslate(position.X, position.Y); //These […]

将基本64string转换为图像并保存

这是我的代码: protected void SaveMyImage_Click(object sender, EventArgs e) { string imageUrl = Hidden1.Value; string saveLocation = Server.MapPath("~/PictureUploads/whatever2.png") ; HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl); WebResponse imageResponse = imageRequest.GetResponse(); Stream responseStream = imageResponse.GetResponseStream(); using (BinaryReader br = new BinaryReader(responseStream)) { imageBytes = br.ReadBytes(500000); br.Close(); } responseStream.Close(); imageResponse.Close(); FileStream fs = new FileStream(saveLocation, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); try […]

跨浏览器的方式来翻转HTML /图像通过JavaScript / CSS?

有一个库/简单的方法来翻转图像? 像这样翻转图像: AABBCC CCBBAA AABBCC -> CCBBAA 我不是在寻找animation ,只是翻转图像。 我已经search到没有avial,只发现了一个复杂的版本,利用MozillaZine上的SVG,我不确定它会跨浏览器工作。

我如何find与Python的Wally?

无耻地跳上了潮stream:-) 启发如何findWaldo与Mathematica和后续如何find与R的Waldo ,作为一个新的Python用户,我很想看看如何做到这一点。 似乎python会比R更适合这个,我们不必担心像Mathematica或Matlab那样的许可证。 在下面的例子中,显然简单地使用条纹是行不通的。 如果一个简单的基于规则的方法可以用于这样的困难例子,那将是有趣的。 我已经添加了[机器学习]标签,因为我相信正确答案将不得不使用ML技术,例如Gregory Klopper在原始主题中提倡的限制玻尔兹曼机(RBM)方法。 Python中有一些可用的RBM代码 ,可能是一个很好的开始,但显然这种方法需要训练数据。 在2009年IEEE国际信号处理机器学习研讨会(MLSP 2009)上,他们进行了一个数据分析竞赛:Wally在哪里? 。 训练数据以matlab格式提供。 请注意,该网站上的链接已经失效,但数据(以及Sean McLoone及其同事所采取的方法的来源可以在这里find(请参阅SCM链接)。似乎只有一个地方可以开始。

algorithm检测照片中的纸张angular落

检测照片中发票/收据/纸张的angular落的最佳方法是什么? 在OCR之前,这将被用于随后的透视校正。 我目前的做法是: RGB>灰度> Canny边缘检测与阈值> Dilate(1)>移除小物件(6)>清除边界物件>根据凸面区域挑选大型博客。 > [angular落检测 – 未实施] 我不禁想到,必须有一个更强大的“智能”/统计方法来处理这种types的分割。 我没有很多训练的例子,但是我可能一起得到100张图片。 更广泛的上下文: 我正在使用matlab来build立原型,并计划在OpenCV和Tesserect-OCR中实现这个系统。 这是我需要为这个特定应用程序解决的许多image processing问题中的第一个。 所以我期待推出自己的解决scheme,并重新熟悉image processingalgorithm。 下面是一些我希望algorithm处理的示例图片:如果您想要接受挑战,那么大图片位于http://madteckhead.com/tmp 案例1 http://madteckhead.com/tmp/IMG_0773_sml.jpg 案例2 http://madteckhead.com/tmp/IMG_0774_sml.jpg 案例3 http://madteckhead.com/tmp/IMG_0775_sml.jpg 案例4 http:/ /madteckhead.com/tmp/IMG_0776_sml.jpg 最好的情况是: 案例1 – canny http://madteckhead.com/tmp/IMG_0773_canny.jpg 案例1 – post canny http://madteckhead.com/tmp/IMG_0773_postcanny.jpg 案例1 – 最大的博客http://madteckhead.com/tmp/ IMG_0773_blob.jpg 但是在其他情况下很容易失败: 案例2 – canny http://madteckhead.com/tmp/IMG_0774_canny.jpg 案例2 – post canny http://madteckhead.com/tmp/IMG_0774_postcanny.jpg 案例2 – 最大的博客http://madteckhead.com/tmp/ […]

从图像中删除白色背景,并使其透明

我们正在尝试在Mathematica中执行以下操作: RMagick从图像中删除白色背景,并使其透明 但是,实际的照片最终看起来很糟糕(就像在图像周围有一个光环)。 以下是我们到目前为止的尝试: unground0[img_] := With[{mask = ChanVeseBinarize[img, TargetColor->{1.,1.,1.}]}, Rasterize[SetAlphaChannel[img, ImageApply[1-#&, mask]], Background->None]]] 这是一个例子。 原始图像: 用白色背景replace没有背景的图像(或者为了演示的目的,这里是粉色背景): 任何想法摆脱这个光环? 调整LevelPenalty之类的东西,我只能让光环消失,而不惜损失一些图像。 编辑:所以我可以比较解决scheme的赏金,请像上面那样构build你的解决scheme,即一个名为unground的自包含的函数 – 东西,需要一个图像,并返回一个图像的透明背景。 非常感谢大家!

如何使用PIL合并一个透明的PNG图像与另一个图像

我有一个透明的PNG图像“foo.png”,我已经打开另一个图像 im = Image.open("foo2.png"); 现在我需要的是合并foo.png与foo2.png。 (foo.png包含一些文本,我想在foo2.png上打印该文本)

GD vs ImageMagick vs Gmagick for jpg?

我正在放弃GD来操纵我的网站中的图像 – 这是可怕的。 大家都说使用ImageMagick是因为它们比GD好,但ImageMagick vs Gmagick( 瑞士军刀的image processing )呢? Zend在这里有一篇漂亮的文章http://devzone.zend.com/article/10531谈论它们。 在我离开ImageMagick之前,有没有使用gmagick的动机呢? (PHP 5.3+) 编辑:问什么是两个库之间哪个更好? 我认为这是一个公平的问题。 如果有人能解释一个lib的优点,那么会帮助我和其他人阅读这个问题。 为什么要closures这样的问题? 编辑2:对于每个人问我需要做什么:我认为这是不知情的:用户上传图像(比可以png / gif / bmp瓦特/ e)我需要转换成JPG,然后将其存储在数据库中,最终如果他们太大我需要调整他们的一点点。 谢谢

上传前显示图像预览

在我的HTML表单中,我input了types文件,例如: <input type="file" multiple> 然后通过点击inputbutton来select多个文件。 现在我想在提交表单之前显示所选图像的预览。 如何在HTML 5中做到这一点?