我试图跟踪玩具车的运动.我录制了很少的视频,现在正在尝试计算旋转.
我的问题是从物体表面提取特征是由于运动模糊而退出挑战.下图显示了视频帧中的裁剪图像.失真发生在水平线上.当对象移动时,会出现此图像中出现的失真.当物体不移动时,没有失真.
图像显示了汽车在对角路径中向前移动穿过图像帧时的扭曲图像.

我尝试了一个基于中位数和方差的维纳过滤器,但没有做太多改进.它只给了我一个平滑的图像,好像在它上面应用了高斯模糊.
我应该采取哪些类型的增强措施来获得更好的图像?
视频 - 720 x 576帧 - 25fps
我正致力于OCR识别印刷文本.特别是我专注于预处理步骤,以改善Tesseract引擎的结果.我已经通过自适应阈值处理,噪声消除,文本偏移校正等获得了良好的结果......但是当其他商业产品返回不错的结果时,Tesseract似乎也失败了.
我使用以下测试图像,这是使用Tesseract 3.04与两个商业OCR apis相比获得的结果.所有3个服务都提供了相同的二进制图像,其中包含一些略微模糊的文本.

正方体
Careers in Technology Consulting
Networking Lunch
21 m 2014, 11:00 - 14:30
Definingthecorporatellstmtegy, Wammmwdngdeal, creating
uniquebwinessisighnwilgbigdam-does?ism?xemmyoua?oy?
Findoutmoreabanhowitfeektomkasatedl?ogymbyjoiningour
for further mm please visit mAeloittexom/weers
Run Code Online (Sandbox Code Playgroud)
ABBYY Fine Reader Online
Careers in Technology Consulting
Networking Lunch
21 November 2014,1140-14:30
Defining the corporate IT strategy, planning a multHnKon <Mar outsourcing deal, creating unique business insights using big data-doesthis sound Ifce something you enjoy?
Find out more about hour it feels to work as a technology consultant by …Run Code Online (Sandbox Code Playgroud) 之前有人问过,但是接受的解决方案对我来说不起作用(字面意思是,在链接的演示中没有任何东西对我来说模糊),而且它有点像涉及两个画布元素的kludge.
我目前正在使用"穷人"的运动模糊技术,它主要涉及将源图像一遍又一遍地对画布进行布局,并在每次迭代后丢弃与顶部背景颜色相同的半透明矩形.
这是一个演示:http://jsfiddle.net/YmABP/
正如您所看到的,它可以很好地适用于图像的边缘,但图像的内部部分根本不会模糊,并且对于具有部分透明度的图像看起来很糟糕.
是否有更好的运动模糊技术?理想情况下,我希望能够做类似的事情context.drawImage并传递一个不透明度参数,但AFAIK就不存在了.某些图像可能托管在第三方域中,因此我无法访问各个像素数据.如果它归结为它,我们可以将图像拉到我们的服务器上,然后我可以遍历每个像素并将其绘制为半透明的小矩形,但这看起来有点矫枉过正.
有没有人知道更好的运动模糊解决方案,最好是我可以用于远程图像?
我怀疑这很重要,但就我目前的目的而言,事情只会向上移动.
我需要在页面上动态模糊图像,但只能沿着一个轴(Y特别是).所以这是我的要求:
Y轴上(如运动模糊,但垂直)我的第一个想法是使用一个简单的CSS过滤器:
img {
filter: blur(20px);
}
Run Code Online (Sandbox Code Playgroud)
我可以通过添加transition(transition: filter 0.2s linear)来设置动画,但它只会创建高斯模糊,这不是我想要的效果.语法不支持filter: blur(0 10px);将模糊仅限制为一个轴.
然后我读到模糊过滤器(以及其他)实际上只是SVG过滤器的简写,如果需要,可以手动编写.所以我创建了一个名为SVG的SVG filter.svg,它只沿Y轴(0 20)指定20px模糊:
<?xml version="1.0" standalone="no"?>
<svg width="1" height="1" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<filter id="blur">
<feGaussianBlur in="SourceGraphic" stdDeviation="0 20" />
</filter>
</defs>
</svg>
Run Code Online (Sandbox Code Playgroud)
并像这样应用它:
img {
filter: url("filter.svg#blur");
}
Run Code Online (Sandbox Code Playgroud)
这完全有效......但仅限于Firefox.Safari/Chrome不支持url()作为值filter.另外,我无法为它设置动画,因为值是URL而不是数字,所以transition不起作用.
所以:有什么方法可以做我想做的事情吗?我已经考虑过使用canvas替代方案,但是找不到任何只能朝一个方向发展的模糊的例子.
我正在尝试实施维纳滤波器以对模糊图像执行反卷积.我的实现是这样的
import numpy as np
from numpy.fft import fft2, ifft2
def wiener_filter(img, kernel, K = 10):
dummy = np.copy(img)
kernel = np.pad(kernel, [(0, dummy.shape[0] - kernel.shape[0]), (0, dummy.shape[1] - kernel.shape[1])], 'constant')
# Fourier Transform
dummy = fft2(dummy)
kernel = fft2(kernel)
kernel = np.conj(kernel) / (np.abs(kernel) ** 2 + K)
dummy = dummy * kernel
dummy = np.abs(ifft2(dummy))
return np.uint8(dummy)
Run Code Online (Sandbox Code Playgroud)
此实现基于Wiki页面.
使用的TIFF图像来自:http://www.ece.rice.edu/~wakin/images/lena512color.tiff
但这里有一个PNG版本:

我有一个由对角内核模糊的输入图像运动,并添加了一些高斯加性噪声.lena图片为512x512,模糊内核为11x11.
当我将wiener_filter应用于此图像时,结果就像这样.
.
我认为这种模糊的图像质量不高.所以我想问一下我的实现是否正确.
非常感谢你!
更新我添加噪音的方式.
from scipy.signal import gaussian, convolve2d
def blur(img, …Run Code Online (Sandbox Code Playgroud) 我一直在关注如何基于相机移动进行模糊的GPU Gems 3教程.但是我也希望实现基于对象移动的模糊.解决方案在文章中提供(参见下面的引用),但我很好奇如何实现这一点.
目前我将对象的矩阵乘以视图投影,然后再分别对前一个视图投影进行乘法,然后将它们传递到像素着色器中以计算速度而不仅仅是视图投影.
如果这实际上是正确的方法,那么为什么我不能简单地传递模型 - 视图 - 投影?我会假设它们的价值相同吗?
要为刚性动态对象生成速度纹理,请使用当前帧的视图投影矩阵和最后一帧的视图投影矩阵来变换对象,然后以与后处理过程相同的方式计算视口位置的差异.应该通过将两个变换位置传递到像素着色器并在那里计算速度来按像素计算该速度.
我正在一个项目中工作,我必须清楚地显示图像的某些部分,并使图像的其余部分模糊.模糊应该由滑块管理.意味着它可以增加或减少.最终结果图像应该在下面看起来相似.
在我的研究期间,我发现以下链接很有用
http://blog.neteril.org/blog/2013/08/12/blurring-images-on-android/
http://blog.neteril.org/blog/2013/08/12/blurring-images-on-android/
但上述链接中的问题是它们都会使图像模糊.不是图像的某些部分.
请提出一些解决方案来实现这一目标.提前致谢.

我想把运动模糊放到我的2D程序中,但我怀疑我当前算法的结果.
我的方法目前看起来像这样:
什么会导致"运动模糊"效果显然是混合,因为运动中的物体将留下褪色的痕迹.
这显然对硬件要求不高,无论如何都会进行双缓冲,唯一的额外步骤是alpha混合,这是一个简单的计算.然而,小径将非常尖锐,并且根本不模糊,这可能看起来有点奇怪.在混合步骤之前,我可以在后台缓冲区上做一个盒子模糊,但感觉它可能对像Nintendo DS这样的低端系统非常沉重.
是否有任何解决方案可以让我更有效地做到这一点或产生更好看的效果?
我在 javascript 字符串中有一个 jpeg 数据 url。有没有办法检测图片的“模糊性”?图片来自正在浏览器中处理的视频。
我知道这并不简单,并且没有明确的模糊度标准,但是有没有办法衡量模糊度?
我最近在一个项目中使用了 Google Flutter。并且想知道我们是否可以在小部件动画中应用运动模糊。它只是使动画更加逼真和舒缓。我找不到任何可用的资源。
有没有人试过?
animation motion-blur flutter flutter-layout flutter-animation
我想检测图像的模糊程度,可能可以称为“模糊扩展”。我为此找到了一篇有用的论文:
http://www.cs.cmu.edu/~htong/pdf/ICME04_tong.pdf
我使用 OpenCV 并实现了本文中的所有步骤,但结果与本文的结果不同。
有人可以给我任何检测“模糊扩展”的建议吗?
motion-blur ×11
canvas ×2
javascript ×2
opencv ×2
2d ×1
android ×1
animation ×1
blur ×1
convolution ×1
css3 ×1
effects ×1
flutter ×1
graphics ×1
image ×1
ocr ×1
opengl ×1
python ×1
svg-filters ×1
tesseract ×1