Bir görüntü alabilen ve belirli düzeltme işlemlerini gerçekleştirebilen bir işlev yazıyorum. İşlevimin en başında, görüntüyü pic = rgb2gray(pic);
Matlabdaki bir görüntünün Gri Tonlamalı olup olmadığını belirleme
kullanarak gri tonlamalı bir görüntüye dönüştürüyorum. Bu işlevin herhangi bir görüntü almasına izin vermeyi umuyordum (zaten gri tonlamalı olsa bile). Matlab'da, gri tonlamalı bir görüntüye aktarırsam, şu anda hata yapar, çünkü dönüştüremez (ki bu barizdir).
Görüntüyü test etmek ve renk biçimini belirlemek için yerleşik bir işlev veya kolay bir yol var mı?
Ben isRGB ve isGrayscale işlevleri hakkında google şey okumak ama onlar bunu bir işlev inşa olsaydı harika olurdu böyle bir şey düşünüyorum... Matlab sonraki sürümlerinde kaldırılmıştır.
if (pic == RGB)
do
.
.
.
elseif (pic == GrayScale)
do
.
.
.
else
do
.
.
.
Değilse, belki pixel x,y
alır ve değerini test eden bir fonksiyon yazabiliriz?
if (p(x,y) == ....
veya başka bir şey? Emin değilim ... Düşünceler? tonlamalı için
size(pic, 3) = 3
:
Bu mantıklıdır. Merakla, boyut (pic, 3) = 2' ne için kullanılır? İçermem gereken başka renk formatları var mı? – Reanimation
Teoride, herhangi bir sayıda kanalın, hatta 2 veya daha fazlasının ([hiperspektral görüntüleme] (http://en.wikipedia.org/wiki/Hyperspectral_imaging)) görüntülerine sahip olabilirsiniz. Pratikte, renkli görüntüler 3 veya 4 kanallıdır ([renk alanları] (http://en.wikipedia.org/wiki/Color_space#Partial_list_of_color_spaces)). Kodunuzun ne olduğuna bağlı olarak, herhangi bir görüntü türüyle baş edebilmek için dizinin üçüncü boyutu (derinlik) üzerinde daha iyi bir döngü yapmalısınız. – Milo