MATLAB中生成的图片保存后发现周围有很大的白边,怎么去掉啊
p=imread(fn);imshow(p);[m,n,p]=size(p);holdonM=4;%水平分量N=5;%垂直分量lw=5;%划线宽度mx=ones(1,M+...
p = imread(fn);imshow(p);[m,n,p] = size(p);hold onM = 4; % 水平分量N = 5; % 垂直分量lw = 5; % 划线宽度mx = ones(1,M+1);my = linspace(1,m,M+1);% 画水平线for k = 1:M+1 line([mx(k) n*mx(k)],[my(k) my(k)],'color','b','LineWidth',lw);endnx = linspace(1,n,N+1);ny = ones(1,N+1);% 画垂直线for k = 1:N+1 line([nx(k) nx(k)],[ny(k) m*ny(k)],'color','b','LineWidth',lw);end这是代码,该怎么改才能保存没有白边的图片
展开
3个回答
展开全部
fn = 'bbb.jpg';
p = imread(fn);
[pm,pn,pp] = size(p);
subplot(121); imshow(p);
title('处理前');
b = rgb2gray(p);
b = double(b)/255;
py = 10; % 图片压缩时有颜色漂移
% 查找左边界
c = 1;
while sum(b(:,c))>=pm-py
c = c+1;
end
lp = c;
% 查找右边界
c = pn;
while sum(b(:,c))>=pm-py
c = c-1;
end
rp = c;
% 查找上边界
r = 1;
while sum(b(r,:))>=pn-py
r = r+1;
end
tp = r;
% 查找下边界
r = pm;
while sum(b(r,:))>=pn-py
r = r-1;
end
bp = r;
R = p(tp:bp,lp:rp,:);
subplot(122); imshow(R);
title('去除白边后');
展开全部
如果图片不多,可以复制到word里面,然后用裁剪。
白边不是图片部分产生的,是matlabGUI为了美观边上有的空白。我一般放到word单独裁剪
白边不是图片部分产生的,是matlabGUI为了美观边上有的空白。我一般放到word单独裁剪
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
clc; close all; clear;
I = imread('peoplewalk.jpg');
fg = figure;
set(fg, 'name', 'view picture');
set(fg, 'numbertitle', 'off');
set(fg, 'toolbar', 'none');
set(fg, 'units', 'pixel');
pos = get(fg, 'position');
set(fg, 'position', [pos(1) pos(2)-80 size(I, 2) size(I, 1)]);
set(gca, 'units', 'pixel');
set(gca, 'position', [0 0 size(I, 2) size(I, 1)]);
imshow(I, []);
%加上自己要对图像处理的命令。%
I = imread('peoplewalk.jpg');
fg = figure;
set(fg, 'name', 'view picture');
set(fg, 'numbertitle', 'off');
set(fg, 'toolbar', 'none');
set(fg, 'units', 'pixel');
pos = get(fg, 'position');
set(fg, 'position', [pos(1) pos(2)-80 size(I, 2) size(I, 1)]);
set(gca, 'units', 'pixel');
set(gca, 'position', [0 0 size(I, 2) size(I, 1)]);
imshow(I, []);
%加上自己要对图像处理的命令。%
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询