|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% t6 W* y( Q# A! n
Matlab里面显示一张图片的话,长宽比取决于图片的横向纵向像素点数。- T( y2 |( V J3 l% A# j" F
如果一张图片是433×433的话,那么imshow之后,就会按1比1比例显示,即使你拉伸窗口。
% c) l6 a# B4 {& _% r1 R: u/ r! p t! H, X. V
fname = 'frog.bmp';8 q; X" Q2 M/ f. s) c" [3 U
A=imread(fname); o6 Y$ I3 x+ [( _
imshow(A);/ D! f U# w+ b* S5 S
set(gcf,'position',[100 100 400 800]);$ @7 e+ C" v/ B; p Q
效果如下:
) m* X6 s5 ]* U, @4 _( \- K0 h8 [7 e: k
s H1 O' T- x5 Z1 F8 v
* N3 H% {: w' j" [. o怎么能让图片充满整个画框呢。可以用画图板打开,拉伸图片,然后重新保存。
- S( z8 ?8 A C4 |1 \或者写个函数
9 N8 u4 }4 r9 e0 f6 _) W6 L
1 H R: ]( m, X$ S, |B= figure_stretch(A,1,3);3 P! }6 R- A- M# t) W/ C
figure
& E6 W. q$ P3 \/ q! H6 Q# J1 Timshow(B);3 [ l. o# H6 l
set(gcf,'position',[100 100 400 800]);
$ r0 z9 _) v4 a; t) u
- A8 D* R/ Y! y7 H/ m& m效果如下:
Z( t" ^8 o( ?% p+ \( Y4 d" t) N* x! _3 W ^
9 _2 r0 O& h4 O! _- Z' Y6 ~4 t5 _; H0 w# G2 V u6 A+ y
figure_stretch函数如下:7 G l# W4 C1 P0 Q4 L
function C=figure_stretch(fname,w_scale,h_scale)6 [* J& f) s2 O" _* u# y2 S' G
% Stretch the figure.' p d" q- G! d2 M3 J
% Usage:
9 ]$ h3 Q3 L; A! M* c9 B% C=figure_stretch(fname,w_scale,h_scale): `* p# ?% H t9 Y8 w
% fname : name of the figure
K, [8 P2 M) _" D; }% w_scale : stretch scale in width
/ G$ D' p9 w; |2 \! V/ p* l8 _% h_scale : stretch scale in hight: ]# \- e- } g' c! I+ }& O
% Example:
9 p" M0 j2 Q' B, E% fname = 'frog.bmp';
$ a) N2 j2 W+ p5 E3 o" c% B= B= figure_stretch(fname,1,3);
' S+ c" z$ ~' m( F0 T! M h% [$ j% figure
, p; Z# v- h. O8 y. z8 J% imshow(B);) X4 G* J+ ]0 Q% E
% Author : Haiyang Cui9 ]5 C# F! p# p- r9 h
% EMail : ***% t, M) z9 `9 G( W- A9 d
- a! o6 N9 {$ |$ X9 Y
A= imread(fname);
; ^- p" U- H$ Z3 M# i[I,J,K]=size(A); d0 @# A5 ?0 p/ W, k, g& D4 J) {
x0=1:J;; d8 B$ T" o# Z2 P' F
y0=1:I;
7 v! T0 b" F) L; C[X0,Y0] = meshgrid(x0,y0);9 m" v; F6 A, C1 E7 j" ~' u+ D
I1 = floor(I*h_scale);& K9 W7 v3 y g% Z4 U6 \5 U
J1 = floor(J*w_scale);2 w# c( t7 V! y, A, `* x' H
- U% S# p% B* E7 c0 a0 j2 ^" LR = A(:,:,1);
0 t7 v2 ~. l% v1 [G = A(:,:,2);( b) u9 N/ R% X& Z8 Z
B = A(:,:,3);
: D7 D* v- @0 i: C& a) s5 |8 u8 m1 w8 l0 [7 ?0 {* c
% ( \1 j/ a# r0 B$ n9 |. o U
x = 1:J1;
- E3 H1 T( W# Q6 r. A% X) I) Q0 My = 1:I1;. Y0 `( a1 m4 V1 ~+ b
[X,Y] = meshgrid(x,y);
8 p) Q1 |: ~7 x! X( C) D5 M& \8 _9 x
X = X*J/J1;9 o5 ~ C3 Z6 K0 u- _
Y = Y*I/I1;
. l% t& J9 Y* W9 [' Z9 aX = double(X);3 I9 e6 N4 j d: i
Y = double(Y);
- V( q5 i$ |0 J. K( DR = double(R);% _) k1 P2 j- `, v i& O
G = double(G);) f* D! Q! L$ o& `; V8 r
B = double(B);
! U" ]$ o, G, R1 | A9 b, |0 n, l+ F" H! {%6 o% r* {1 h2 Q) B
R1 = interp2(X0,Y0,R,X,Y);! e; C3 P* k! \2 q* e# y
G1 = interp2(X0,Y0,G,X,Y);
4 K1 d# B6 W @, w! v* q2 S5 XB1 = interp2(X0,Y0,B,X,Y);
* d+ K$ v: j1 x E+ o0 Y5 SC(:,:,1)=uint8(R1);8 ^2 T( m- ]3 s
C(:,:,2)=uint8(G1);5 G7 \6 L& K3 p; _# k
C(:,:,3)=uint8(B1);
- X" d8 H: M+ {$ M ^5 `end
" H$ h( G- H6 x q5 x6 b( y1 q* h- W5 c
|
|