日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab实现图像放大两倍,matlab图像处理基础知识0(双线性插值matlab实现--调整水平和垂直放大倍数)...

發布時間:2023/12/15 循环神经网络 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab实现图像放大两倍,matlab图像处理基础知识0(双线性插值matlab实现--调整水平和垂直放大倍数)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求說明:圖像處理FPGA實現前期算法準備

當前算法:已通過matlab驗證成功

function scaler_bilinear()

%-----------------------------0:配置輸入輸出--------------------------------

m=2; %放大或縮小的高度

n=2; %放大或縮小的寬度

I=imread('F:ookDigital image processing and machine vision640480plane.jpg');

[height,width,l]=size(I); ? ?%輸入分辨率 640*480

O=zeros(height*m,width*n,l); %輸出分辨率 1920*1080

%-----------------------------1:開始輸出計算--------------------------------

rot=[m,0,0;0,n,0;0,0,1]; ? ? %變換矩陣

for i=1:height*m

for j=1:width*n

pix=[i,j,1]/rot;

float_Y=pix(1)-floor(pix(1)); %水平寬度小數部分 floor 向下取整

float_X=pix(2)-floor(pix(2)); %垂直高度小數部分 floor 向下取整

%-----------------------------2:邊界處理--------------------------------

if pix(1)<1 ? ? ?%邊界處理

pix(1)=1;

end

if pix(1)>height %邊界處理

pix(2)=height;

end

if pix(2)<1 ? ? ?%邊界處理

pix(2)=1;

end

if pix(2)>width ?%邊界處理

pix(2)=width;

end

%-----------------------------3:原坐標四個相鄰點----------------------------

%四個相鄰的點

pix_up_left ? = [floor(pix(1)) , floor(pix(2))];

pix_up_right ?= [floor(pix(1)) , ceil(pix(2))]; ?%floor 向下取整 ?ceil 向上取整

pix_down_left = [ceil(pix(1)) ?, floor(pix(2))];

pix_down_right= [ceil(pix(1)) ?, ceil(pix(2))];

%-----------------------------4:權重計算-----------------------------------

%計算臨近四個點的權重

value_up_left ? = (1-float_X) * (1-float_Y);

value_up_right ?= float_X ? ? * (1-float_Y);

value_down_left = (1-float_X) * float_Y;

value_down_right= float_X ? ? * float_Y;

%按權重進行雙線性插值

% ?O(i,j,:) = value_up_left ? * I(pix_up_left(1) ? ,pix_up_left(2),:) ? +...

% ? ? ? ? ? ? value_up_right ?* I(pix_up_right(1) ?,pix_up_right(2),:) ?+...

% ? ? ? ? ? ? value_down_left * I(pix_down_left(1) ,pix_down_left(2),:) +...

% ? ? ? ? ? ? value_down_right* I(pix_down_right(1),pix_down_right(2),:);

%-----------------------------5:計算輸出圖像數值----------------------------

O(i,j,1) = value_up_left ? * I(pix_up_left(1), ? pix_up_left(2) ? ,1) +...

value_up_right ?* I(pix_up_right(1), ?pix_up_right(2) ?,1) +...

value_down_left * I(pix_down_left(1), pix_down_left(2) ,1) +...

value_down_right* I(pix_down_right(1),pix_down_right(2),1);

O(i,j,2) = value_up_left ? * I(pix_up_left(1), ? pix_up_left(2) ? ,2) +...

value_up_right ?* I(pix_up_right(1), ?pix_up_right(2) ?,2) +...

value_down_left * I(pix_down_left(1), pix_down_left(2) ,2) +...

value_down_right* I(pix_down_right(1),pix_down_right(2),2);

O(i,j,3) = value_up_left ? * I(pix_up_left(1), ? pix_up_left(2) ? ,3) +...

value_up_right ?* I(pix_up_right(1), ?pix_up_right(2) ?,3) +...

value_down_left * I(pix_down_left(1), pix_down_left(2) ,3) +...

value_down_right* I(pix_down_right(1),pix_down_right(2),3);

end

end

% figure,imshow(uOt8(O))

%-----------------------------6:輸出顯示------------------------------------

figure,imshow(I); ? ? ? title('輸入圖像640*480');

figure,imshow(uint8(O));title('輸出圖像1920*1080');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

設計來自:時間的詩

總結

以上是生活随笔為你收集整理的matlab实现图像放大两倍,matlab图像处理基础知识0(双线性插值matlab实现--调整水平和垂直放大倍数)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。