久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
雙線性插值法縮放矩陣或圖像MATLAB代碼
[打印本頁]
作者:
exp(jpai)+1=0
時間:
2023-3-5 15:40
標題:
雙線性插值法縮放矩陣或圖像MATLAB代碼
無標題.png
(311.16 KB, 下載次數: 51)
下載附件
2023-3-5 15:40 上傳
%----------------------雙線性插值法縮放矩陣或圖像---------------------------
% Input:
% I:圖像文件名或矩陣(整數值(0~255))
% zmf:縮放因子,即縮放的倍數
% Output:
% 縮放后的圖像矩陣 ZI
% Usage:
% ZI = SSELMHSIC('ImageFileName',zmf)
% 對圖像I進行zmf倍的縮放并顯示
% Or:
% ZI = SSELMHSIC(I,zmf)
% 對矩陣I進行zmf倍的縮放并顯示
%-------------------------------------------------------------------
%%%% Authors: Zhi Liu
%%%% XiDian University Student
%%%% DATE: 16-12-2013
% 確實能實現把圖片放大,但是不失真太多,比把圖片直接放大分辨率更高
clc;clear all;close all;
%% Step1 對數據進行預處理
zmf = 2; % 縮放因子,即縮放的倍數
[I,M] = imread("78.png");
if zmf <= 0
error('縮放倍數 zmf的值應該大于0!');
end
%% Step2 通過原始圖像和縮放因子得到新圖像的大小,并創建新圖像。
[IH,IW,ID] = size(I);
ZIH = round(IH*zmf); % 計算縮放后的圖像高度,最近取整
ZIW = round(IW*zmf); % 計算縮放后的圖像寬度,最近取整
ZI = zeros(ZIH,ZIW,ID); % 創建新圖像
%% Step3 擴展矩陣I邊緣
IT = zeros(IH+2,IW+2,ID); % 小圖像
IT(2:IH+1,2:IW+1,:) = I; % 把原圖像賦值過去
IT(1,2:IW+1,:)=I(1,:,:);
IT(IH+2,2:IW+1,:)=I(IH,:,:);
IT(2:IH+1,1,:)=I(:,1,:);
IT(2:IH+1,IW+2,:)=I(:,IW,:);
IT(1,1,:) = I(1,1,:);
IT(1,IW+2,:) = I(1,IW,:);
IT(IH+2,1,:) = I(IH,1,:);
IT(IH+2,IW+2,:) = I(IH,IW,:);
%% Step4 由新圖像的某個像素(zi,zj)映射到原始圖像(ii,jj)處,并插值。
for zj = 1:ZIW % 對圖像進行按列逐元素掃描
for zi = 1:ZIH
ii = (zi-1)/zmf; jj = (zj-1)/zmf;
i = floor(ii); j = floor(jj); % 向下取整
u = ii - i; v = jj - j;
i = i + 1; j = j + 1;
ZI(zi,zj,:) = (1-u)*(1-v)*IT(i,j,:) +(1-u)*v*IT(i,j+1,:)...
+ u*(1-v)*IT(i+1,j,:) +u*v*IT(i+1,j+1,:);
end
end
ZI = uint8(ZI);
%% 以圖像的形式顯示同現矩陣P
figure
imshow(I,M);
axis on
title(['原圖像(大小: ',num2str(IH),'*',num2str(IW),'*',num2str(ID),')']);
figure
imshow(ZI,M);
axis on
title(['縮放后的圖像(大小: ',num2str(ZIH),'*',num2str(ZIW),'*',num2str(ID)',')']);
% -----------------
% function R = bicubic(src, scale)
%% 雙三次插值
src = imread("78.png");
src = double(src) / 255;
scale = 2;
% 判斷是灰度圖還是RGB圖像
if ismatrix(src)
R = zeros(floor(size(src) * scale));
else
R = zeros([floor(size(src, 1, 2) * scale), 3]);
end
[dstM, dstN, ~] = size(R);
% 擴展原圖像
misrc = zeros([size(src, 1, 2) + 2 * floor(scale), size(R, 3)]);
for i = 1 : size(R, 3)
tmp = padarray(src(:, :, i), [floor(scale), floor(scale)], 'symmetric');
misrc(:, :, i) = tmp;
end
%逐像素點賦值
for dstX = 1 : dstM
for dstY = 1 : dstN
srcX = floor((dstX + 0.5) / scale - 0.5);
srcY = floor((dstY + 0.5) / scale - 0.5);
u = ((dstX + 0.5) / scale - 0.5) - srcX;
v = ((dstY + 0.5) / scale - 0.5) - srcY;
X1 = zeros(4, 4);
X2 = zeros(4, 4);
W1 = ones(4, 4);
W2 = ones(4, 4);
% Bicubic基函數
for i = 1 : 4
for j = 1 : 4
X1(i, j) = abs(u - i + 2);
X2(i, j) = abs(v - j + 2);
if X1(i, j) <= 1
W1(i, j) = 1.5 * (X1(i, j)) ^ 3 - 2.5 * (X1(i, j)) ^ 2 + 1;
else
if X1(i, j) < 2
W1(i, j) = (-0.5) * (X1(i, j)) ^ 3 + 2.5 * (X1(i, j)) ^ 2 - 4 * X1(i, j) + 2;
else
W1(i, j) = 0;
end
end
if X2(i, j) <= 1
W2(i, j) = 1.5 * (X2(i, j)) ^ 3 - 2.5 * (X2(i, j)) ^ 2 + 1;
else
if X2(i, j) < 2
W2(i, j) = (-0.5) * (X2(i, j)) ^ 3 + 2.5 * (X2(i, j)) ^ 2 - 4 * X2(i, j) + 2;
else
W2(i, j) = 0;
end
end
end
end
W = W1 .* W2;
Z = ones(4, 4); %16個源像素點矩陣
O = ones(4, 4); %16個加權后的源像素點矩陣
for dstC = 1 : size(R, 3)
for i = 1 : 4
for j = 1 : 4
Z(i, j) = misrc(srcX - 2 + i + round(scale), srcY - 2 + j + round(scale), dstC);
O(i, j) = W(i, j) .* Z(i,j);
end
end
O1 = sum(sum(O));
R(dstX, dstY, dstC) = O1;
end
end
end
figure,imshow(R);
復制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
中文字幕亚洲精品
|
久草视频在线播放
|
国产免费黄色
|
精品在线观看视频
|
久插视频
|
婷婷午夜天
|
成人在线国产
|
免费黄色一级
|
黄色三级小说
|
色综合五月
|
九九综合网
|
日本在线看
|
综合伊人久久
|
国产小视频在线播放
|
国产欧美精品一区二区三区
|
狠狠操综合
|
日本成人黄色
|
亚洲精品欧美
|
三级黄色片免费看
|
看黄色大片
|
a级片网站
|
亚洲精品中文字幕乱码三区91
|
国产精品久久久久久久久久久久午夜片
|
国内精品一区二区三区
|
夜晚福利视频
|
av一区二区三区
|
91色视频
|
黄色一级视频免费看
|
亚洲毛片在线
|
精品一区二区三区在线观看
|
香蕉视频免费看
|
欧美一区二区三区在线
|
3d动漫精品h区xxxxx区
|
人人看人人草
|
国产成人免费在线
|
国产一区久久
|
18视频在线观看男男
|
欧美日韩中文
|
亚洲91av
|
国产黄色在线
|
污视频网站在线观看
|