永发信息网

python 图像旋转怎么去除黑边

答案:1  悬赏:30  手机版
解决时间 2021-02-14 19:54
python 图像旋转怎么去除黑边
最佳答案
去除黑边现象的办法:
1)在做图像坐标映射反查的时候,算出当前点在原始图像的外部还是内部,若在外部,判断当前像素点的X或者Y位置,找临近四个边界的像
素值代替;

该方法太过繁琐,适合自己写程序实现,如若想调用现有的一些库函数,可以考虑2)做法:

2)将待旋转的图像进行边界填充,最不济的情况下可以扩充为原始图像的大小;

旋转边界填充图像;

计算原始图像经过旋转以后的结果图像的尺寸大小;

在边界填充旋转图像上截取目标图像;(图像都是按照图像中心旋转的);
附上一段matlab人脸根据人眼位置对齐的代码:
[plain] view plain copy
eye_angle = atan2( (eye_pts(2,2) - eye_pts(1,2)),(eye_pts(2,1) - eye_pts(1,1) ) ) * 180 / pi; % 人眼的倾斜角度
if eye_angle < 0
eye_angle = eye_angle + 360;
end
if floor(eye_angle) <= 5 || floor( 360 - eye_angle ) <= 5
continue;
end % 5度之内不做对齐操作
img = imread(img_path);
[m,n,~] = size(img);
img_pad = padarray(img,[m n],'both','replicate');% 扩充图像
img_pad_rotate = imrotate(img_pad,eye_angle,'bilinear'); % 旋转扩充图像
[m_pad_r,n_pad_r,~] = size(img_pad_rotate);
[plain] view plain copy
eye_angle = eye_angle * pi / 180;
f_cos = cos(eye_angle);f_sin = sin(eye_angle);
new_m = floor(m * abs(f_cos) + n * abs(f_sin));
new_n = floor(n * abs(f_sin) + m * abs(f_cos));% 最终对齐图像的大小
left = floor((n_pad_r - new_n) / 2);right = left + new_n;
bott = floor((m_pad_r - new_m) / 2);up = bott + new_m;
face_rorate = img_pad_rotate(bott : up,left : right,:); % 截取目标图像
figure,imshow(face_rorate)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
城北酒店停车场怎么去啊,我要去那办事
铜坞寺在什么地方啊,我要过去处理事情
浅杏色的衣服配军绿色的裤子可以吗
显卡 七彩虹iGame GTX1060烈焰战神U-3GD5,现
运政执法车辆停放处怎么去啊,我要去那办事
宁味楼彩虹店地址有知道的么?有点事想过去
慢性肺源性心脏病急性加重的主诱因为A.过劳B.
看着漂亮不?
崇义大酒店停车场地址有知道的么?有点事想过
时尚焦点理发店怎么去啊,有知道地址的么
劳尔接班人波尔蒂略退役,他是一个什么水平的
梦想世界打地鼠怎么才能打到310分
教学教案怎么写
六年级上册英语电子书
我在百度上买了火车票,票退了,钱在那里拿,
推荐资讯
没什么说男人最怕一月三十一,女人怕十二月一
如何下载网页pdf,如:
唐果是哪个小说里的女主角 男主很花心
哪种电镀最耐磨 导电性能好,而且可以焊锡,
建鑫五金装饰钢材经营部地址有知道的么?有点
李鸿章相当于现在总理的职务吗
什么RMB(硬币)最具收藏价值
NFC蓝牙快速配对里面是不是加了一种天线啊,
我们最后来到一处空地。那座悬崖就耸立在空地
邮政银行信用卡为什么提临时额度需要5天审核
满溢百鲜包文化街店怎么去啊,有知道地址的么
dota2里面有哪些字被和谐了
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?