multiplicarea o imagine cu o matrice in MATLAB

I

IndiJones

Guest
Eu am un 24 bit RGB imagine (BMP) pixeli, care a 1024X1280X3 şi este de
uint8 de tip (MATLAB arată că la încărcarea imaginea utilizând "imread").Eu
ar dori să inmulteste cu o matrice de 3x3 pentru a vedea cum imaginea
modificări.Cînd I a face it utilizând următoarea comandă:

Image2 = Matrix * Image1;

I a lua acest mesaj:

"??? De eroare: ==> mtimes
Numere întregi pot fi numai combinat cu numere întregi din aceeaşi clasă, sau de
scalare duble. "

Apoi m-am convertit Image1 în dublu folosind:

DoubleImage = imdouble (Image1);

Şi apoi a încercat să facă o multiplicare încă o dată:

Image2 = Matrix1 * DoubleImage;

De data asta am luat această eroare:

"??? De eroare: ==> mtimes
Argumente de intrare trebuie să fie 2-D. "

A putut anyone te rog spune-mi cum am sa ma fac de multiplicare
şi apoi forma imaginea de ieşire pentru vizualizare.

Thanks in advance!

 
Cred că am nevoie să se clarifice în continuare problema.Fiecare pixel din RGB
avioane ale imaginii trebuie să fie înmulţit cu Matrix1.De exemplu,
Pixel prima din fiecare dintre cele trei avioane R1, G1 & B1 va fi primul
înmulţită cu Matrix1, apoi R2, G2 & B2, vor fi multiplicate şi aşa mai departe.
Deci, ar trebui să fie o matrice 3x3, înmulţită cu un alt matrice 3X1 ca
urmează:

Pixeli prima noua imagine (sa zicem xyz)

[X1 Y1 Z1] = [M11 M12 M13; M21 M22 M23; M31 M32 M33] * [R1 G1 B1];
.
.
.
[Xn Yn Zn] = [M11 M12 M13; M21 M22 M23; M31 M32 M33] * [Rn Gn Bn];

În cele din urmă output imagine XYZ va avea X1 Pixel valorile, .., Xn pentru
avionul X, Y1, .., Yn pentru planul Y şi Z1, .., Zn pentru planul Z
şi să arate imaginea finală.

 
Dacă am înţeles corect, încercaţi să filtru de imagine ul original
, cu o masca 3x3?Dacă este aşa, utilizarea new_pic (m) = conv2 (masca, m your_pic :),:,))

unde m = 1,2,3 ca şi pentru R, G şi B

salvaţi fiecare 2-D pic (R, G şi B) şi le combină într-o matrice 3-D.

Succes,
P.

 

Welcome to EDABoard.com

Sponsor

Back
Top