如何将手机拍的照片转换为九宫格形式,今天小编就来聊一聊关于朋友圈如何发长图九宫格?接下来我们就一起去研究一下吧!
朋友圈如何发长图九宫格
如何将手机拍的照片
转换为九宫格形式
并在朋友圈发送
?
接下来
使用MATLAB给出
解决方案
并做优化
简单的使用图像裁剪
将图像裁成
九宫格形式
程序设计如下
clc
clear all
%图像读取
I = imread('C:\Users\Administrator\Desktop\1.jpg');
%预处理
[m,n,z] = size(I);
p = floor(m/3);
q = floor(n/3);
J = cell(9,1);
%图像九宫格分割
J{1,1} = I(1:p,1 : q,:);
J{2,1} = I(1:p,q : 2*q,:);
J{3,1} = I(1:p,2*q : 3*q,:);
J{4,1} = I(p:2*p,1:q,:);
J{5,1} = I(p:2*p,q : 2*q,:);
J{6,1} = I(p:2*p,2*q : 3*q,:);
J{7,1} = I(2*p:3*p,1:q,:);
J{8,1} = I(2*p:3*p,q : 2*q,:);
J{9,1} = I(2*p:3*p,2*q : 3*q,:);
%分割可视化与图像保存
dos('md G:\图像九宫格裁剪');
figure(1),imshow(I);
figure(2),
for i = 1 : 9
subplot(3,3,i);
imshow(J{i,1});
imwrite(J{i,1},['G:\图像九宫格裁剪\',num2str(i),'.jpg']);
end
输入测试图像为
长手机壁纸
输出图像
并写入G盘文件夹
转化到朋友圈发送
查看效果
可以看到
被裁剪分割后图像已经坏掉了
主要原因是
【图像并不是正方形】
在微信朋友圈
发送九宫格图像
效果最佳时要求图像为方形
因此对上程序进行优化
将图像预处理为方形
但是处理为方形图像
必须增添或裁剪
为了保留全局信息
本文采用了增添的思想
= =
程序如下
clc
clear all
%图像读取
I = imread('C:\Users\Administrator\Desktop\2.JPG');
%imshow(I);
%预处理
[m,n,z] = size(I);
r = max(m,n);
if m > n
p = floor((m-n)/2);
I1 = zeros(m,p,3);
I2 = [I1,I,I1];
imshow(I2);
end
if n > m
p = floor((n-m)/2);
I1 = zeros(p,n,3);
I2 = [I1;I;I1];
imshow(I2);
end
%%
c = floor(r/3);
J = cell(9,1);
%图像九宫格分割
J{1,1} = I2(1:c,1 : c,:);
J{2,1} = I2(1:c,c : 2*c,:);
J{3,1} = I2(1:c,2*c : 3*c,:);
J{4,1} = I2(c:2*c,1:c,:);
J{5,1} = I2(c:2*c,c : 2*c,:);
J{6,1} = I2(c:2*c,2*c : 3*c,:);
J{7,1} = I2(2*c:3*c,1:c,:);
J{8,1} = I2(2*c:3*c,c : 2*c,:);
J{9,1} = I2(2*c:3*c,2*c : 3*c,:);
%分割可视化与图像保存
dos('md G:\图像九宫格裁剪');
figure(1),imshow(I2);
figure(2),
for i = 1 : 9
subplot(3,3,i);
imshow(J{i,1});
imwrite(J{i,1},['G:\图像九宫格裁剪\',num2str(i),'.jpg']);
end
输出图像为
转至朋友圈
发送
可以看到
效果还是很NICE的
上面是竖长图
相当于手机竖屏拍的照片
对于横屏拍的照片
一样可以应对
测试图像
朋友圈展示效果
当然
九宫格图像展示
最好将头部置于整张图中
以免
头部被裁剪拉长丑化
如果图片本身就是方形
使用程序一即可
例如
九宫格分解以后
总之
文中只是一个很简单的设计
在微信当中已有很多小程序
可以实现此功能
后续
我们可以
将程序转化成可执行文件
或者简单的GUI
便于使用
目前也已有图片专门转化为
九宫格形式的客户端
会员价6元
才能使用
此外
在此基础上可以将视频封面等转化为
九宫格显示
LIVE动态图像转化为九宫格
以及转化为其他形式的
裁剪方案
THE
END