i have code which is perfectly working fine with cameraman.tif but with other images its not ..what is wrong in the code?
[X,Y,Z] = peaks(200);
I = double(imread('cameraman.tif'));
figure;
mesh(X, Y, Z, I);
colormap jet;
above one is working fine
but this one not .i have to generate surf and mesh images kindly suggest what is wrong
clc
close all
clear all
% a=VideoReader('C:\Users\tce21\Downloads\test.mp4'); % Read a video
% b = read(a,1); % Read 1st frame
% c=rgb2gray(b);
% [X,Y,Z] = peaks(200); % surface
I = double(c);
figure;
mesh(X, Y, Z, I); % overlay image as texture
colormap jet;
image s attached
i want same output as cameraman but with mesh grid lines with the figure attached
as 1st images.
help is really appreciated

댓글 수: 4

ramya
ramya 2018년 4월 19일
no replies yet
KSSV
KSSV 2018년 4월 19일
편집: KSSV 2018년 4월 19일
Because question is vague.....you asked how to make a mesh of image almost thrice.....those questions itself were not clear and you have not accepted the answers so far nor the discussion is closed. This question too is almost the same. It is not clear what you are trying to do and what error you have....:|
This:
[X,Y,Z] = peaks(200);
I = double(imread('cameraman.tif'));
figure;
mesh(X, Y, Z, I);
colormap jet;
does not work fine. It generates error
Warning: Error creating or updating Surface
Error in value of property CData
Array is wrong shape or size
At that point, I quit working on this question.
KSSV
KSSV 2018년 4월 19일
Yes....true Image Analyst. There were two or three questions on how to mesh a image by the user which were not closed by the user so far.

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

 채택된 답변

Image Analyst
Image Analyst 2018년 4월 19일

0 개 추천

Try this:

rgbImage = imread('1st images.bmp');
subplot(1, 2, 1);
imshow(rgbImage);
% Get the dimensions of the image.  
% numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image.
[rows, columns, numberOfColorChannels] = size(rgbImage);
if numberOfColorChannels > 1
	% It's not really gray scale like we expected - it's color.
	% Use weighted sum of ALL channels to create a gray scale image.
	rgbImage = rgb2gray(rgbImage); 
	% ALTERNATE METHOD: Convert it to gray scale by taking only the green channel,
	% which in a typical snapshot will be the least noisy channel.
	% grayImage = grayImage(:, :, 2); % Take green channel.
end
% Make white surround black.
rgbImage(rgbImage == 255) = 0;
[X, Y] = meshgrid(1:columns, 1:rows);
dblImage = double(rgbImage); 
Z = dblImage;
subplot(1, 2, 2);
mesh(X, Y, Z, dblImage); % overlay image as texture
colormap jet;
fontSize = 20;
xlabel('X, column', 'FontSize', fontSize);
ylabel('Y, Row', 'FontSize', fontSize);
zlabel('Intensity', 'FontSize', fontSize);

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Blue에 대해 자세히 알아보기

태그

질문:

2018년 4월 17일

답변:

2018년 4월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by