作者sppmg (sppmg)
看板MATLAB
标题Re: [问题] 关於影像处理pixel/sub-pixel 重新排列
时间Tue Aug 28 02:19:10 2018
我试试看。(以下程式未经测试)
一般影像载入 matlab 後就是 3D 矩阵,颜色应该在第三维。
简单流程:
1. 分别标记各次像素在像素中位置
2. 以这矩阵为单位,重复至图像面积,从而形成次像素遮罩
3. 将原图次像素值填入遮罩位置(这里 = 两端数量必须一样)
如果图像结构不同就在 3. 想办法用遮罩取值存入。
以下程式码
```
image = ... % 3D array (Y,X,C), C == r,g,b ;
imLen_y = size(image, 1) ;
imLen_x = size(image, 2) ;
newImage = uint8(zeros(2*imLen_y, 2*imLen_x)) ;
newPixelUnit{1} = logical ([ 1 0; 0 0]) ;
newPixelUnit{2} = logical ([ 0 1; 0 0]) ;
newPixelUnit{3} = logical ([ 0 0; 1 0]) ;
for color = 1:3
newPixelMask = repmat (newPixelUnit{color}, imLen_y, imLen_x) ;
newImage(newPixelMask) = image(:,:,color) ;
end
```
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.96.115.164
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1535393954.A.106.html