导航:首页 > 动漫图片 > matlab怎么对图片处理

matlab怎么对图片处理

发布时间:2024-04-28 11:45:11

❶ MATLAB镐庝箞锅氩浘镀忓勭悊锛

matlab瑕佷粠锻戒护绐楀彛杈揿叆锻戒护𨱒ュ仛锲惧儚澶勭悊
锅囧备綘镄勫浘镀忓湪妗岄溃涓婏纴钖嶅瓧鏄痑.bmp
浣犲彲浠ョ敤濡备笅鏂规硶璇诲叆锲剧墖锛
I=imread('C:\Documents and settings\Administrator\妗岄溃\a.bmp');
imshow(I) 锛呮樉绀哄浘镀
浣犲彲浠ユ牴鎹姝ゆ潵淇鏀逛綘镄勫皬娉㈠彉鎹㈢▼搴忥纴浠ヤ究鐢ㄤ簬浣犵殑锲惧儚澶勭悊銆备綘镊宸卞厛璇曡瘯锛屽傛灉涓嶈岀殑璇濓纴鍐嶆妸浣犵殑绋嫔簭璐村嚭𨱒ワ纴鎴戝府浣犵湅鐪嬶纴鏀瑰ソ浜嗗彂缁欎綘銆
[email protected]锛屾㈣繋浣犳潵闂銆
鐜嬭佸笀

❷ 用matlab如何讲图片的其中一部分进行裁剪,然后对裁剪的部分进行上下倒转之后再放回原图啊

使用 imcrop 时,返回两个值即可简单实现:

[jm, rect] = imcrop(im)

上面的变量意义:im 是需要处理的原始图片,jm 是图片裁剪部分,rect 是坐标

其中,rect 是一个包含 4 个元素的数组,前两个元素是裁剪部分左上角的坐标 x 和 y,后两个元素是裁剪部分的大小,格式为 [xpos, ypos, xlen, ylen]。注意,x 方向是宽,y方向是高,而 Matlab 是列优先索引,因此实际索引时需要将 y 方向作为第一维;

你的代码可以这样写:

%read image

img = imread('baby.jpg');

figure;

subplot(1,2,1)

%show image

imshow(img);

title('ORIGINAL IMAGE');

%crop image

[~, rect] = imcrop(img);

rect = num2cell(round(rect));

[xpos, ypos, xlen, ylen] = deal(rect{:});

%Upside down

imud = im;

imud(ypos:ypos+ylen, xpos:xpos+xlen, :)= flipud(imud(ypos:ypos+ylen, xpos:xpos+xlen, :));

subplot(1,2,2);

imshow(imud);

坐标参数预处理和图片裁剪翻转处理

函数余下部分进行坐标处理和图像裁剪翻转;

❸ Matlab锲惧儚澶勭悊-RGB镩插僵鎻愬彇铡熺悊鏂规硶

链鏁欑▼阃傚悎Matlab鏁板瓧锲惧儚澶勭悊镄勫埯瀛﹁呫傜洰鍓嶆湁涓浜涙坠链虹浉链鸿蒋浠舵湁钬滈瓟娉曡壊褰┾濆姛鑳斤纴鍙浠ュ皢褰╄壊镦х墖鍙树负鍙鏄剧ず镆愪竴绉嶅叿浣挞滆壊镄勭伆镩茬収鐗囥傛湰鏂囦腑镓鎻愬埌镄凴GB镩插僵鎻愬彇绾绮逛负瀹炵幇涓浜哄叴瓒h岀紪鍐欙纴姝h勬暀𨱒愪腑鍙鑳藉苟镞犵浉鍏宠祫鏂欍傛枃涓杈冧负鍏ㄩ溃鐩磋傚湴缁椤嚭鍦∕atlab涓瀵瑰浘镀忚繘琛孯GB镩插僵鎻愬彇镄勬柟娉曞师鐞嗗拰Matlab婧愪唬镰侊纴骞堕厤钖埚繀瑕佺殑浠g爜娉ㄩ喷锛屽笇链涜兘甯锷㎝atlab鍜屾暟瀛楀浘镀忓勭悊镄勫埯瀛﹁呭叆闂ㄣ

镓揿紑锲惧儚 [FileName, FilePath]=uigetfile('*.jpg;*.png;*.tif;*.img;*.gif;','璇烽夋嫨锲惧儚鏁版嵁'); str=[FilePath FileName]; Image=imread(str); % 浠ュ硅瘽妗嗙殑褰㈠纺阃夋嫨镓揿紑涓骞呭浘镀

璁剧疆鍙傛暟 Gray=rgb2gray(Image); R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3); diff_R=0; diff_G=0; diff_B=0; % 璁剧疆绾銆佺豢銆佽掴涓夌嶉滆壊鎻愬彇阒埚硷纸瓒婂ぇ瓒娄弗镙硷级

绾㈣壊鎻愬彇 Image_R=Image; RP_R=Image(:,:,1); RP_G=Image(:,:,2); RP_B=Image(:,:,3); XYR=~((R-G)diff_R(R-B)diff_R); % 鎻愬彇绾㈣壊𨱒′欢鏄疪鍒嗛噺涓嶨銆丅鍒嗛噺宸鍊煎ぇ浜庤惧畾 Mask=Gray(XYR); % 𨱔扮収鐗囨帺鑶 RP_R(XYR)=Mask; RP_G(XYR)=Mask; RP_B(XYR)=Mask; % 浣垮缑闱炵孩镩插尯锘熷彉涓虹伆镩 Image_R(:,:,1)=RP_R; Image_R(:,:,2)=RP_G; Image_R(:,:,3)=RP_B;

缁胯壊鎻愬彇 Image_G=Image; GP_R=Image(:,:,1); GP_G=Image(:,:,2); GP_B=Image(:,:,3); XYG=~((G-R)diff_G(G-B)diff_G); % 鎻愬彇缁胯壊𨱒′欢鏄疓鍒嗛噺涓嶳銆丅鍒嗛噺宸鍊煎ぇ浜庤惧畾 Mask=Gray(XYG);% 𨱔扮収鐗囨帺鑶 GP_R(XYG)=Mask; GP_G(XYG)=Mask; GP_B(XYG)=Mask;% 浣垮缑闱炵豢镩插尯锘熷彉涓虹伆镩 Image_G(:,:,1)=GP_R; Image_G(:,:,2)=GP_G; Image_G(:,:,3)=GP_B;

钃濊壊鎻愬彇 Image_B=Image; BP_R=Image(:,:,1);BP_G=Image(:,:,2);BP_B=Image(:,:,3); XYB=~((B-R)diff_B(B-G)diff_B); % 鎻愬彇缁胯壊𨱒′欢鏄疓鍒嗛噺涓嶳銆丅鍒嗛噺宸鍊煎ぇ浜庤惧畾 Mask_B=Gray(XYB); % 𨱔扮収鐗囨帺鑶 BP_R(XYB)=Mask_B; BP_G(XYB)=Mask_B; BP_B(XYB)=Mask_B; % 浣垮缑闱炶掴镩插尯锘熷彉涓虹伆镩 Image_B(:,:,1)=BP_R; Image_B(:,:,2)=BP_G; Image_B(:,:,3)=BP_B;

鏄剧ず缁撴灉 subplot(2,2,1),imshow(Image); title('Image'); subplot(2,2,2),imshow(Image_R); title('Red Pass'); subplot(2,2,3),imshow(Image_G); title('Green Pass'); subplot(2,2,4),imshow(Image_B); title('Blue Pass'); % 鏄剧ず铡熷浘涓嶳/G/B涓夎壊鎻愬彇缁撴灉瀵规瘆锲惧苟鏄剧ず镙囩

淇濆瓨缁撴灉 imwrite(Image_R,'Image_R.jpg','jpeg'); imwrite(Image_G,'Image_G.jpg','jpeg'); imwrite(Image_B,'Image_B.jpg','jpeg'); % 灏哛/G/B涓夎壊鎻愬彇缁撴灉鍐欐垚jpg鏂囦欢淇濆瓨鍒板綋鍓岖洰褰

铡熺悊璇﹁В

链鏂囦腑鎻愬埌镄凴GB镩插僵鎻愬彇鏂规硶链涓哄叧阌镄勪篃链涓洪毦浠ヤ弗镙肩晫瀹氱殑鍦版柟鏄瀵逛簬R/G/B涓夌嶉滆壊镄勫垽鍒瑙勫垯锛屾湰鏂囦腑鎻愬埌镄勫垽鍒瑙勫垯鏄镟村叿R/G/B涓镆愪竴棰滆壊鍒嗛噺鏄庢樉涓嶅皬浜庡叾瀹冨垎閲忔椂锛屽嵆鍒ゅ埆镆愬儚绱犵偣涓烘煇绉嶉滆壊锛屽苟阃氲繃璁剧疆鍒ゅ埆阒埚硷纴𨱒ユ带鍒跺垽鍒𨱒′欢镄勯滆壊涓庡惁銆备负浜嗕缭鎸佸浘鐗囩殑瀹屾暣镐э纸鍗充笁绉嶈壊褰╂彁鍙栫粨鏋滀腑褰╄壊鐩稿姞钖庤兘寰楀埌铡熷浘锛夛纴链渚嬩腑榛樿よ剧疆阒埚间负0锛屼负浜嗗缑鍒版洿涓哄崟绾镄勯滆壊锛屽彲阃傚綋澧炲ぇ阒埚笺 濡备笅锲炬槸灏哛/G/B涓夎壊鎻愬彇阒埚艰剧疆涓0镄勬彁鍙栫粨鏋滐细

濡备笅锲炬槸灏哛/G/B涓夎壊鎻愬彇阒埚艰剧疆涓128镄勬彁鍙栫粨鏋滐纴浠庡浘涓鍙鐪嫔埌锛屽綋阒埚艰剧疆瓒婂ぇ锛埚垽瀹氭浔浠舵剤锷犱弗镙硷级锛屾彁鍙栫粨鏋沧洿鎺ヨ繎R/G/B绾镩层

阅读全文

与matlab怎么对图片处理相关的资料

热点内容
剪映如何把抠出来的视频添加图片 浏览:257
word怎么把图片成黑白的 浏览:551
动漫花语少女图片 浏览:734
旧五毛图片及价格 浏览:602
动漫少女绿发图片 浏览:678
上海昌硕宿舍图片女生 浏览:874
word图片显示红叉 浏览:832
黑洞图片和文字 浏览:590
怎么把图片特效去掉 浏览:53
要不过年了谁给我买件衣服的图片 浏览:267
李易峰文字图片大全 浏览:716
商场标志图片大全 浏览:522
美女太阳镜的图片 浏览:377
男生园长绘画图片 浏览:365
word里图片太大显示需要分页 浏览:229
童话里的女孩卡通图片 浏览:417
录音如何用到图片上 浏览:198
丝袜女孩穿丝袜图片 浏览:341
ps怎么raw格式的图片 浏览:337
射手座图片男生帅气 浏览:316