필터 지우기
필터 지우기

while processing a code for Image enhnacement..i am getting the following error could you please explain..?

조회 수: 1 (최근 30일)
*Error using rgb2gray>parse_inputs (line 88) RGB must be a m x n x 3 array.
Error in rgb2gray (line 35) X = parse_inputs(varargin{:});*
  댓글 수: 1
Rajat
Rajat 2013년 4월 10일
I was intially trying to input some urban area image with .img format but Matlab is not supporting..??..how can i input coloured input image of urban area and extract building

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

답변 (2개)

Iman Ansari
Iman Ansari 2013년 4월 10일
편집: Iman Ansari 2013년 4월 10일
The error says why. Your input is not RGB. Try:
size('your input')
  댓글 수: 2
Rajat
Rajat 2013년 4월 10일
thanx for reply..but i want to actually input a urban area satlelite image..but wen i input.img image...it doesnot support
Rajat
Rajat 2013년 4월 10일
below is code for image segmentation could you please help in doin necessary changes, so that i can extract building from satellite image
im1=imread('D:\12.jp2'); %im1=rgb2gray(im); im1=medfilt2(im1,[3 3]); %Median filtering the image to remove noise% BW = edge(im1,'sobel'); %finding edges [imx,imy]=size(BW); msk=[0 0 0 0 0; 0 1 1 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 0 0 0 0;]; B=conv2(double(BW),double(msk)); %Smoothing image to reduce the number of connected components L = bwlabel(B,8);% Calculating connected components mx=max(max(L)) % There will be mx connected components.Here U can give a value between 1 and mx for L or in a loop you can extract all connected components % If you are using the attached car image, by giving 17,18,19,22,27,28 to L you can extract the number plate completely. [r,c] = find(L==17); rc = [r c]; [sx sy]=size(rc); n1=zeros(imx,imy); for i=1:sx x1=rc(i,1); y1=rc(i,2); n1(x1,y1)=255; end % Storing the extracted image in an array %figure,imshow(im); figure,imshow(im1); figure,imshow(B); figure,imshow(n1,[]);

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


Image Analyst
Image Analyst 2013년 4월 10일
After you call this line
im1 = imread('D:\12.jp2');
put these lines
[rows, columns, numberOfColorChannels] = size(im1) % No semicolon
if numberOfColorChannels > 1
% Do this only if you want to convert to gray level.
im1 = rgb2gray(im1);
% Optionally, can take the green channel instead of the above line
% im1 = im1(:, :, 2);
end
What does this print out in the command window?
  댓글 수: 6
Joe Torr
Joe Torr 2015년 2월 8일
I tried your step and it gave me the same error. I wonder if it's the fact that my image is .tiff have something to do with it. I'm just trying a basic step of getting only black and white colors. I started to try gray but that did'nt work as well.
Image Analyst
Image Analyst 2015년 2월 8일
Joe, I don't know what you did. Post your own question separately, and attach your code and image and we'll answer it there.

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

카테고리

Help CenterFile Exchange에서 Image Processing and Computer Vision에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by