How to remove a percentage of image counting from the bottom to top
6 ビュー (過去 30 日間)
古いコメントを表示
Stelios Fanourakis
2019 年 1 月 30 日
コメント済み: Stelios Fanourakis
2019 年 1 月 30 日
Hi
I want to subtract a portion of image (e.g. 30% of it from the top). How do I do that?
If I do, something like this,
img = (croppedImage - (croppedImage.*0.3));
I usually get a 30% deduction from the bottom of it. I want this deduction to be from the top.
Moreover, I need a method to translate the deduction to number of rows. To be known, how many pixel rows this 30% of the image is.
Any ideas please?
1 件のコメント
Rik
2019 年 1 月 30 日
Do you want to change the size of your image, or the ensities that make up that image?
採用された回答
Mark Sherstan
2019 年 1 月 30 日
編集済み: Mark Sherstan
2019 年 1 月 30 日
Look at the example I wrote for you below. Use the size function and realize that imcrop takes an array in the form of [xPosition yPosition width height] where the (0,0) point is the top left corner of your image.
I = imread('test.png');
[height width dims] = size(I);
J = imcrop(I,[0 floor(height*0.3) width height-floor(height*0.3)]);
figure(1)
subplot(1,2,1); imshow(I)
subplot(1,2,2); imshow(J)
3 件のコメント
Mark Sherstan
2019 年 1 月 30 日
Glad it worked! You could do something along the lines of this:
I = imread('test.png');
[height width dims] = size(I);
rows30 = floor(height*0.3) % I used floor but you can use ceil, round, etc...
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!