How to remove a percentage of image counting from the bottom to top
3 ビュー (過去 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 件)
参考
カテゴリ
Help Center および File Exchange で Graphics Performance についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!