2017-07-10 90 views
0

我有一个灰度图像im划分一个图像划分成相等的像素数据

如果total的多个图像是所有像素的值的总和,我怎么分割im到5倍的图像具有以下属性:

所有像素的值的
  • 总和为total
  • 遗漏的需求1/5 ...
  • ...

我正在使用python。但任何其他语言的建议也将不胜感激。

我已经使用下面的代码来计算像素数据。

from PIL import Image 

im = Image.open('capture.jpg') 
im_grey = im.convert('LA') # convert to grayscale 
width,height = im.size 

total=0 
for i in range(0,width): 
    for j in range(0,height): 
     total += im_grey.getpixel((i,j))[0] 

print "The sum of all pixels' values in im is :" 
print total 
print "1/5 of that sum is :" 
print total/5 

任何建议,应赞赏。

+0

你是什么意思等值像素值?在图像中是否有201987像素,并且您想要分成相等的区域,或者是201987是所有像素的总和,并且您希望有五个图像具有相等的总和? –

+0

@Piglet。我可以在任何一天为您制作27x7481图片。我同意你可能会将问题按面积分成5等份。但是如果出于同样的原因,如果你有整数像素的话,你也会有问题把它分成总分值的五分之一,因此我最初的困惑。 –

+0

@OP。仔猪已经澄清说,你想要在每个部分的图像总强度的1/5。你将无法得到确切的答案,所以你需要指定A)你想得到多么近,B)你想如何分裂。 –

回答

1

你原来的问题是一个难题。但是,看着你所做的评论,我认为这是一个简单的问题。您可以从上到下扫描图像,然后对像素进行求和。当总和达到sum_all_pixels/5时,那么你已经找到了第一个区域。将总和重置为零,并继续扫描第二个区域。我希望你明白我的意思。

+0

看到我得到你的东西,并试过了,我有问题选择该地区。任何可能的代码或解决方案。在Python或其他语言。 –