2011-10-12 36 views
1

我有一个图像名为imageA ... imageA有一些部分着黑色。 现在我想用imageB的像素替换图像A的黑色部分,这样部分的位置在其他图像中是相同的。取代图像的黑色部分,与任何其他图像:在matlab

就好像如果imageA =(10,15)中黑色像素的位置,应该用这个黑色像素替换imageB中位置(10,15)的像素。

回答

5

使用Logical Indexing.

zeropixels = imageA == 0 
imageA(zeropixels) = imageB(zeropixels) 

您可能需要一些额外的错误检查代码,以确保逻辑矩阵zeropixels是有效的索引imageB。

+0

但它剂量完全取代黑色部分,一些黑色部分(以点和线的形式)仍然存在>? – chee

+2

一些黑色像素必须比零亮一些。尝试像'blackpixels = imageA <5'。 – japreiss

相关问题