|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
7 {' `. E4 v/ X' D
Matlab里面显示一张图片的话,长宽比取决于图片的横向纵向像素点数。
8 W/ _9 Q) _, v( e+ J如果一张图片是433×433的话,那么imshow之后,就会按1比1比例显示,即使你拉伸窗口。# T% n' N h0 k8 W( P8 o6 Z; g
' e! N! w# K* \' |4 F/ _
fname = 'frog.bmp';) c6 y% m& d C! b3 h7 U) B/ Y3 A
A=imread(fname);
5 y+ a4 ~& ^8 B& {; \$ f h$ ]" uimshow(A);
- }( b( M& g% H5 Z6 J: x# Fset(gcf,'position',[100 100 400 800]);7 z1 H' V- S! A' |) Y9 _$ x0 Q2 p
效果如下:
! \: @' P# N( B i/ \9 |9 n8 A
* h5 _5 e8 a } b0 u' e( x. s! C& A% p1 R0 Y3 y5 v
怎么能让图片充满整个画框呢。可以用画图板打开,拉伸图片,然后重新保存。
) H: ?, _3 [5 P' [; o% l: d或者写个函数
4 @3 b8 B' ~8 R5 _" B# n, X# }5 s0 q! g: {9 r
B= figure_stretch(A,1,3);9 f5 S6 s5 k9 L
figure, l* j& A( w1 R3 A
imshow(B);
% a! l8 i2 s$ J: K6 k7 k: Vset(gcf,'position',[100 100 400 800]);4 q/ h9 @; f5 t
) [, |% I! E4 Z" v
效果如下:
) P0 e& w! K4 A% Y3 |: g! Z! J& C) Q! Z- j. T" o4 |$ Q+ R; q7 l
: H# W- v$ P. o- Z! v& w3 `
" _4 Q2 E- a, J( w# T( @- |figure_stretch函数如下:
6 {2 [2 f' C' F" T- K# u- B) Q! h; Z4 Q/ jfunction C=figure_stretch(fname,w_scale,h_scale)
: G! @4 F' S8 H% Stretch the figure.
- m, i2 E+ E M$ k% Usage:" E! J; j# @' Z/ j8 j+ X( x, m' w
% C=figure_stretch(fname,w_scale,h_scale)- H2 o! o5 i. y/ [$ f
% fname : name of the figure" z2 [4 _; X: v7 j
% w_scale : stretch scale in width* s% N4 f0 ^8 q
% h_scale : stretch scale in hight e1 J* h" p, z6 n/ u2 U2 X* t
% Example:
5 G3 V% }& b/ `. j H$ ~0 v$ _% fname = 'frog.bmp';- d# y. y# i( @& y* e& h2 G
% B= B= figure_stretch(fname,1,3);
: z. P# z5 k8 ?! z- y& }% figure0 U, B) t' }- h% D7 R4 r
% imshow(B);
( s+ x* V6 d* ]! e% Author : Haiyang Cui
/ y! f! j! u: a% EMail : ***
8 R; Y+ q1 G8 _. p( \
- ?; ^1 A0 x: [A= imread(fname);0 m7 R; I# n# m7 B( T0 `9 w8 u2 p" G
[I,J,K]=size(A);6 y4 V1 U. m5 u
x0=1:J;2 i! S* s& G/ i' V3 m2 m0 }7 D
y0=1:I;# L" V8 w, D" r, ^2 U
[X0,Y0] = meshgrid(x0,y0);
! Z3 u3 o6 {& Z2 a4 J* HI1 = floor(I*h_scale);
" s- ]8 \9 B4 DJ1 = floor(J*w_scale);3 R& c- I' m' C
B9 S* U( q# W N$ ZR = A(:,:,1);- V, b' U# ]8 d4 u P
G = A(:,:,2);) g% A# \1 u, P! u1 D2 w ^- E
B = A(:,:,3);, {" ~) i# |% \) }4 t
! q% B/ ]) t# t+ X
% 7 B; k( a+ f( m) r8 D! R/ K' O
x = 1:J1;7 S+ Y c+ x, ~0 A& t( S
y = 1:I1;
: J6 Q& ?- b. D; `# ]. }[X,Y] = meshgrid(x,y); V. P) N, m! r+ w7 Y7 i
6 I7 n$ ?! i5 C6 k7 t, D; M* ~
X = X*J/J1; V7 t* p& U( O5 V% b; r, k( _# l
Y = Y*I/I1;' |. g$ ~) S" c; k% h" _& Y* i$ {
X = double(X);* X5 o+ h; N5 W* \
Y = double(Y);
# `* G6 }) h9 A% G+ kR = double(R);% ^* _5 t! a! P& h
G = double(G);. p' q# ?6 t$ V
B = double(B);
" C( y9 v" b5 s% n g% C( @. w: x%
3 G% D! q; e9 N4 Z3 s x& }/ e+ wR1 = interp2(X0,Y0,R,X,Y);
3 o* |1 q) a7 ?G1 = interp2(X0,Y0,G,X,Y);7 \& c. x' K3 y0 U8 a2 i
B1 = interp2(X0,Y0,B,X,Y);2 Q5 r2 `5 u# _4 k: {
C(:,:,1)=uint8(R1);
3 m$ K% o4 e% [1 G6 }& @C(:,:,2)=uint8(G1);
% w% M2 q4 z9 l M( v2 K6 i. x5 gC(:,:,3)=uint8(B1);
) H8 j6 i3 i4 D ~7 iend
1 G- ^6 k6 S" ]- d# Q$ y% F) U/ R' N1 ]0 ?
|
|