|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
2 O6 ]5 |. P* o/ O% D& T0 k8 p
Matlab里面显示一张图片的话,长宽比取决于图片的横向纵向像素点数。3 u R# b8 ~- H. ^6 ~- q
如果一张图片是433×433的话,那么imshow之后,就会按1比1比例显示,即使你拉伸窗口。
# d! m" Q8 {5 V
, k6 u" k% K/ j1 k$ v+ i5 d6 rfname = 'frog.bmp';
! y# C$ M2 ?' t! D1 lA=imread(fname);
; V6 M; e' [, aimshow(A);
0 f) D& ^, G, e4 p5 T- Aset(gcf,'position',[100 100 400 800]);
O% W5 }6 E z+ Q效果如下: e0 K) }/ H% R* Q; b+ [$ k
' T: E. O+ r1 f
; D; w& Z) F& X7 b
1 m' v# G1 D. v怎么能让图片充满整个画框呢。可以用画图板打开,拉伸图片,然后重新保存。
: \, }* {9 d0 F5 Q4 Z( D8 }或者写个函数
& C* |* \& I$ [7 ~4 Q- x; J# W* m" h
B= figure_stretch(A,1,3);
4 n- X, B, C: ~' M1 y5 F' Gfigure9 [9 U4 L, F# }7 L6 e, U8 m- P: s8 \/ h
imshow(B);0 I% }9 {4 M1 f# Z4 ]4 r
set(gcf,'position',[100 100 400 800]);
* S: V+ _- B* c6 ]! `. U
+ f% B" N/ ?/ [8 a效果如下: k0 z" q1 ]4 F0 M Q4 L
" g0 F8 E- W `
9 a3 m. O1 [; y1 \* k7 O9 J
h6 ]6 }* R) G( b6 x
figure_stretch函数如下:
+ P( x3 Z( n2 jfunction C=figure_stretch(fname,w_scale,h_scale)6 ~* T: K, {) A7 y0 O1 t! _4 j
% Stretch the figure.2 ?1 v* z9 Y- ~& W0 ?. \
% Usage:
# J7 x( }, L9 a) H% C=figure_stretch(fname,w_scale,h_scale)
+ B0 q F/ t) Z+ i- {% fname : name of the figure
3 {6 \" b" n; E" S& g6 J% w_scale : stretch scale in width
/ L, e9 O* `, Q: H% h_scale : stretch scale in hight! i) f! Y8 Z; Z4 Y9 N. }# Q
% Example:* G1 R8 |. F% K& g \
% fname = 'frog.bmp';
- R( ?" k8 C p8 d) H9 R% L% B= B= figure_stretch(fname,1,3);4 Q- c3 F9 ?( ?: a$ G$ O
% figure
8 B/ |8 E6 g9 H0 P$ x# d. K% {% ]% imshow(B);8 H* n( p, X7 |: l
% Author : Haiyang Cui1 t0 I/ I- d- S* l
% EMail : ***; b$ u( u7 M( g9 X, X" r
) {# `# k' w; D$ s/ bA= imread(fname);0 f/ X* }1 V! c) \
[I,J,K]=size(A);' D; D! G w }) p
x0=1:J;& d( b9 `* r1 G. S+ v! ], ?
y0=1:I;
3 W7 c. E- W/ z4 b[X0,Y0] = meshgrid(x0,y0);
4 } x; o, E4 ?. R, l7 z" RI1 = floor(I*h_scale);( ]2 e: Z/ [5 B9 x
J1 = floor(J*w_scale);* M% `5 V( I, V9 S$ x' R
) g1 k! ]6 ]1 I- V ^+ F+ N) B
R = A(:,:,1); W/ a. i( S5 P" z. D$ V9 R
G = A(:,:,2);- |" N8 h3 l) l! E) ^
B = A(:,:,3);4 U( E6 z l+ l* h
9 }' b' _+ B9 k/ v6 \$ x
% * k: L" r3 [" S$ ]! j1 k
x = 1:J1;$ ?2 i# f' R6 m/ G7 N, B9 v
y = 1:I1;+ o4 I1 F8 p/ w: A) |# G
[X,Y] = meshgrid(x,y);
3 [, Q' q5 L' J) z( G( T+ ?7 O+ K" M3 x: A/ s: I; G3 ^2 x
X = X*J/J1;& }. A4 F( Z( B: e; v. ]
Y = Y*I/I1;
- ], W0 R( l8 a8 s3 pX = double(X);
5 ]& r! \, P3 t4 \1 hY = double(Y);' P! y: _1 q/ x+ Y& L; b* `
R = double(R);% S9 E' P- ~0 |! M' x0 t
G = double(G);! C% B8 y. I5 X) N& h
B = double(B);
6 |( V+ ]5 l+ v0 V/ r%2 f5 v3 B! |2 l+ [6 B8 P2 g
R1 = interp2(X0,Y0,R,X,Y);
3 _! U$ Z) k4 w; TG1 = interp2(X0,Y0,G,X,Y);
6 u: {" @: S! `" b# ]) ~B1 = interp2(X0,Y0,B,X,Y);2 [5 L& x u3 T: V
C(:,:,1)=uint8(R1);- |- y6 k0 Q, {: }' M; P2 M
C(:,:,2)=uint8(G1);( `+ l" O) N$ _
C(:,:,3)=uint8(B1);
* l3 P# p' N& [( |; Y' nend: S) q s4 b: U, W- j" j+ ^
" J( y3 G3 }% r# q
|
|