标签: image-processing

与PIL的图像比较未按预期工作

我正在尝试与linux x屏幕截图图像进行图像比较

我遵循python脚本

http://aatiis.me/2010/08/12/fast-image-comparison-with-python.html

它可以工作并为样本鸭图像提供输出(snap_from_x_duck在此输入图像描述 AND resized_from_duck在此输入图像描述)我用于测试,但当我加载我的实际图像(snap_from_x.png在此输入图像描述 AND resized_from_org.png在此输入图像描述 )它给出了一个错误..

  Comparing 1 images:
 *  1 /  1: /opt/ad_re.png /opt/op.png ...
 Traceback (most recent call last):
     File "imgcmp.py", line 246, in <module>
         sim = cmp.similarity()
     File "imgcmp.py", line 212, in similarity
         cmp = self.compare()
     File "imgcmp.py", line 180, in compare
         diff.append(cmp.levenshtein)
     File "imgcmp.py", line 127, in levenshtein
         stra_r = ''.join((chr(x>>16) for x in self.imga_int))
     File "imgcmp.py", line 50, in imga_int
         self._imga_int = tuple(self._img_int(self._imga))
     File "imgcmp.py", line 120, in _img_int
         yield …
Run Code Online (Sandbox Code Playgroud)

python image-processing python-imaging-library

0
推荐指数
1
解决办法
296
查看次数

如何使用OpenCV从名片中删除非文本区域?

我的目标是从扫描的名片图像中删除任何非文本区域,但我不知道使用OpenCV执行该操作的步骤,我已按照这些步骤但不知道这是正确的,或者我也不知道注意图像中的任何变化(非文本区域仍然存在)任何想法将非常有用,谢谢.

1)将图像转换为灰度

2)二进制图像

3)反转颜色(cv :: bitwise_not)以获得白色像素文本

4)侵蚀图像(cv :: erode)

5)使用canny检测边缘

6)使用霍夫变换检测文本行(尚未)

码:

cv::Mat greyMat = [self.imageView.image CVGrayscaleMat];
cv::Mat bwMat;
cv::threshold(greyMat, bwMat, 128, 255, CV_THRESH_BINARY);
cv::bitwise_not(bwMat, bwMat);
cv::Mat element = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(2, 1));
cv::erode(bwMat, bwMat, element);
std::vector<cv::Point>points;
cv::Mat_<uchar>::iterator it=bwMat.begin<uchar>();
cv::Mat_<uchar>::iterator end=bwMat.end<uchar>();
for (; it!=end; ++it) 
if (*it) 
points.push_back(it.pos());
cv::RotatedRect box=cv::minAreaRect(cv::Mat(points));
plImage* smothedImage=new IplImage(bwMat); 
cvSmooth(smothedImage, smothedImage);
cvCanny(smothedImage, smothedImage, 10, 100);
Run Code Online (Sandbox Code Playgroud)

c++ ocr opencv image-processing image-segmentation

0
推荐指数
1
解决办法
5712
查看次数

Java中的Skelethonization和Thinning

我有一个问题,我无法弄清楚.我必须使用两个不同的图像处理技术:Skelethonization细化,我不得不这样做在Java中.现在的问题是我无法找到任何起点或教程.任何人都可以告诉我应该从哪里开始,或者有人可以解释我如何实现这一目标?我正在用Java编写应用程序BufferedImage,如果有可能的话,我想使用a (当然).

谢谢

java image image-processing

0
推荐指数
1
解决办法
1433
查看次数

使用Python和PIL进行慢速图像处理

我正在尝试按RGB值的顺序对图像的像素进行排序.作为Python的新手我试过这个:

from PIL import Image

source = Image.open("source.jpg")
colors = source.getcolors(source.size[0] * source.size[1]) #maxcolor value =256, get   all colors with source.size[0] * source.size[1]
pixels = []
for i, color in colors:
    pixels.extend(i * [color])
    pixels.sort()
    new = Image.new('RGB', source.size)
    new.putdata(pixels) 
    new.save("new.png")
Run Code Online (Sandbox Code Playgroud)

它适用于40x40像素左右的小文件.但目标是在高达3000x2000分辨率的照片上使用它,我尝试运行它,但两小时后仍然没有尽头.代码可以优化,我做了一些完全错误的事情,还是Python根本不适合这种任务?

python image-processing python-imaging-library

0
推荐指数
1
解决办法
2328
查看次数

对于以下噪音,哪种滤镜更好?

我想知道在matlab上更好的滤波器用于高斯噪声和斑点噪声我试图使用维纳滤波器来处理高斯,但它似乎不起作用.有人可以帮帮我吗?

matlab image-processing

0
推荐指数
1
解决办法
1872
查看次数

OpenCV从B/W转换为RGB

我已经将图像从RGB转换为B/W然后我想将其转换回RGB但我有一个问题:

我的代码:

             int width=zoomedImage->width;
             int height=zoomedImage->height;
             TempImage=cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,1);
             cvCvtColor(zoomedImage, TempImage,CV_RGB2GRAY);
             cvThreshold( TempImage, TempImage,128,256,CV_THRESH_BINARY);
             cvCvtColor( TempImage,zoomedImage,CV_GRAY2RGB);
             this->pictureBox1->Image=(gcnew 
System::Drawing::Bitmap(zoomedImage->width,zoomedImage->height,zoomedImage->widthStep, 
System::Drawing::Imaging::PixelFormat::Format24bppRgb,(System::IntPtr)zoomedImage->imageData)); 
Run Code Online (Sandbox Code Playgroud)

在这里我将zoomedImage显示为黑白图像,在另一个动作中,我想将zoomedImage显示为RGB图像,这里的主要问题是我无法更改将要绘制的图像,因为我的代码的另一部分依赖于在这个序列中,我在另一个动作中写道:

  cvCvtColor( TempImage,zoomedImage,CV_GRAY2RGB);
this->pictureBox1->Image=(gcnew 
System::Drawing::Bitmap(zoomedImage->width,zoomedImage->height,zoomedImage->widthStep, 
System::Drawing::Imaging::PixelFormat::Format24bppRgb,(System::IntPtr)zoomedImage->imageData));
Run Code Online (Sandbox Code Playgroud)

但是zoomedImage仍然显示为B/W,我听说当真彩色图像转换为灰色时,它不能再作为真彩色图像返回,那么CV_GRAY2RGB做什么呢?

c++ opencv image-processing

0
推荐指数
1
解决办法
2281
查看次数

c#调整图像大小并将其装入正方形,同时保留纵横比

我正在为我的网站做一些工作,我想自动调整我的图像..但不仅自动调整大小,而且保持它们成比例,即使我调整其宽度或高度.我想添加额外的白色边框以补偿新的空间.

我以前从未做过任何形象工作,我应该怎么做呢?

c# image image-processing winforms image-resizing

0
推荐指数
1
解决办法
1986
查看次数

如何在iOS上使用OpenCV对CGImage进行二值化?

在我的iOS项目中,我有一个RGB的CGImage,我想要二值化(转换为黑白).我想用OpenCV来做这件事,但我是OpenCV的新手.我找到了一本关于OpenCV的书,但它并不适用于iPhone.

如何在iOS上使用OpenCV对这样的图像进行二值化?

iphone opencv image-processing ios ios5

0
推荐指数
1
解决办法
2939
查看次数

Hough Transform可以用于商业软件吗?

Hough Transform可以用于商业软件吗?

我的意思是,它是那些看起来只是研究而且不稳定的东西之一.例如,您不会将其放在商业合成软件中,并且让用户始终依赖它.

任何意见?

谢谢

image-processing computer-vision

0
推荐指数
1
解决办法
511
查看次数

直方图均衡化变换函数

假设给定的大小为64 * 64像素(M * N = 4096)的3位图像(L = 8)具有如下所示的强度分布。如何获得直方图均衡变换函数,然后计算图像的均衡直方图?

Rk     nk
0      800
1      520
2      970 
3      660
4      330
5      450
6      260
7      106
Run Code Online (Sandbox Code Playgroud)

image-processing

0
推荐指数
1
解决办法
3712
查看次数