Load image in form one-dimensional signal

조회 수: 1 (최근 30일)
Arkanra Kadhum
Arkanra Kadhum 2016년 12월 10일
댓글: Image Analyst 2016년 12월 11일
How can I use the Matlab statement "s = leleccum(1:3920)" for any image rather than leleccum image? The number 3920, what it means please I need your help Arkan

답변 (2개)

Walter Roberson
Walter Roberson 2016년 12월 10일
Img = imread('ImageFileName.png');
s = Img(:) ;

Image Analyst
Image Analyst 2016년 12월 10일
That takes an image called leleccum and stacks all columns on top of each other with col 1 at the top, then col 2 underneath that, then col 3 and so on. Then it extracts the first 3920 elements of that column vector into a new column vector. This may or may not be an exact integer number of columns.
To do it for an image of any other name, simple use the name of the other image.
For example to get the first 58 pixels in image "grayImage", do this:
s = grayImage(1:58)
  댓글 수: 4
Arkanra Kadhum
Arkanra Kadhum 2016년 12월 11일
편집: Image Analyst 2016년 12월 11일
Thank you so much for you important reply. My problem is to decompose the EMG image. When I write
EmgImg=imread('emg1.jpg');
s = EmgImg(1:3920); %Load original one-dimensional signal.
l_s = length(s);
[C,L] = wavedec(s,3,'db1');
I get the warning
Warning: CONV2 on values of class UINT8 is obsolete.
Use CONV2(DOUBLE(A),DOUBLE(B)) or CONV2(SINGLE(A),SINGLE(B)) instead.
Best regards
Arkan
Image Analyst
Image Analyst 2016년 12월 11일
OK, so...did you do that? Did you convert your image to double like it said? If not, why not?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Denoising and Compression에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by