필터 지우기
필터 지우기

Longitudinal Cut View at Certain Angle

조회 수: 3 (최근 30일)
Arsalan Akbar
Arsalan Akbar 2018년 5월 3일
답변: Jun Tan 2018년 5월 13일
Hi
I'm a beginner in Image processing . I have a Multi frame Image with consist of 271 frames . i want to cut this image at certain angle (like 45 deg) to get its longitudinal view . I have the upper part of the image and want to get lower view . But i'm not able to get this . here i have attached the code . can anyone please help me in this
for frame=1:271
[mri(:,:,:,frame),map] = imread('image.tif',frame);
end
for slice = 1: 271
angle = 45;
xcentre = floor(size(Image, 2) / 2);
ycentre = floor(size(Image, 1) / 2);
xtop = xcentre + ycentre / tan(angle);
yright = ycentre - (size(Image, 2) - xcentre) * tan(angle);
xbottom = xcentre - (size(Image, 1) - ycentre) / tan(angle);
yleft = ycentre + xcentre * tan(angle);
if xtop < 0 || xtop > size(Image, 2)
x = [1, size(Image, 2)];
y = [yright, yleft];
else
x = [xbottom, xtop];
y = [size(Image, 1), 1];
end
% x = [1, size( mri(:,:,:,slice), 2)];
% y = [1, size( mri(:,:,:,slice), 1)];
[linex, liney, ~] = improfile(mri(:, :,:, slice), x, y);
sliceimage = mri(sub2ind(size(mri), ...
repmat(round(liney), 1, size(mri, 3)), ...
repmat(round(linex), 1, size(mri, 3)), ...
repmat(1:size(mri, 3), numel(linex), 1)));
if slice == 1
image3D = sliceimage;
else
image3D = cat(2, image3D, sliceimage);
end
end
image(image3D);
colormap(gray(256))

답변 (2개)

Yuvaraj Venkataswamy
Yuvaraj Venkataswamy 2018년 5월 3일
Check below link.
https://in.mathworks.com/matlabcentral/answers/210394-how-to-divide-an-image-diagonally-into-two-part
  댓글 수: 1
Arsalan Akbar
Arsalan Akbar 2018년 5월 3일
this is not what i'm looking for...
as it cut the image in upper and lower triangle but i want to cut the image with some angle

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


Jun Tan
Jun Tan 2018년 5월 13일
You can use "imrotate" on each slice then obtain the longitudinal cut view along the central axis without worrying about interpolation.

카테고리

Help CenterFile Exchange에서 Read, Write, and Modify Image에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by