function [state,result]=draw_rect(data,pointAll,windSize,showOrNot)

% 函数调用:[state,result]=draw_rect(data,pointAll,windSize,showOrNot)

% 函数功能:在图像画个长方形框

% 函数输入:data为原始的大图,可为灰度图,可为彩色图

% pointAll 框的左上角在大图中的坐标(每行代表一个坐标),

% 注意:在图中的坐标系为第一列为y,第二列为x(很奇怪的)

% windSize 框的大小 windSize=[112,92] 分别表示长宽

% showOrNot 是否要显示,默认为显示出来

% 函数输出:state -- 表示程序结果状态

% result - 结果图像数据

% 函数历史: v0.0 @2013-01-27 created by Aborn

if nargin < 4

showOrNot = 1;

end

rgb = [255 255 0]; % 边框颜色

lineSize = 3; % 边框大小,取1,2,3

windSize(1,1)=windSize(1,1);

windSize(1,2) = windSize(1,2);

if windSize(1,1) > size(data,1) ||...

windSize(1,2) > size(data,2)

state = -1; % 说明窗口太大,图像太小,没必要获取

disp('the window size is larger then image...');

return;

end

result = data;

if size(data,3) == 3

for k=1:3

for i=1:size(pointAll,1) %画边框顺序为:上右下左的原则

result(pointAll(i,1),pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1)+windSize(i,2),pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2),k) = rgb(1,k);

if lineSize == 2 || lineSize == 3

result(pointAll(i,1)+1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1)-1,k) = rgb(1,k);

result(pointAll(i,1)+windSize(i,2)-1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)-1,k) = rgb(1,k);

if lineSize == 3

result(pointAll(i,1)-1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1)+1,k) = rgb(1,k);

result(pointAll(i,1)+windSize(i,2)+1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);

result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+1,k) = rgb(1,k);

end

end

end

end

end

state = 1;

if showOrNot == 1

figure;

imshow(result);

end

在main函数中调用如下:

% main.m

clc;

clear;

close all;

data = imread('man_1.jpg');

pointAll = [5,20];

windSize = [100,30];

[state,results]=draw_rect(data,pointAll,windSize);

return;

原图像为:

结果图像为:

特别注意:图像中显示的坐标系和我们平时用的不一样!!!

matlab画简单长方形,matlab在图像中画长方形(框)相关推荐

  1. 设置matlab图像线框,matlab在图像中画长方形(框)

    function [state,result]=draw_rect(data,pointAll,windSize,showOrNot) % 函数调用:[state,result]=draw_rect( ...

  2. 如何熟练掌握MATLAB机器学习、深度学习在图像中的处理

    近年来,随着无人驾驶汽车.医学影像智慧辅助诊疗.ImageNet竞赛等热点事件的发生,人工智能迎来了新一轮的发展浪潮.尤其是在计算机视觉和图像处理领域,各种颠覆性的成果应运而生. 阅读全文点击:< ...

  3. VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor

    目录 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor 接上:VC++ 绘制线条 OnLButtonDown函数 ...

  4. java定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形

    定义一个长方形类,该类中具有长方形长宽两种属性,并具有相应的构造方法 属性访问方法,计算长方形的周长和面积的方法,要求输出长是5,宽是4的长方形 public class test3 {public ...

  5. python画三维立体图-如何在论文中画出漂亮的插图?

    ----2020.08.07增---- 看到评论区有人说"没代码没教程所以没帮助"-- 好吧,我寻思链接.参考资料都在回答中给出来了呀(可能不够明显?) 于是,重新整理.注释了一下 ...

  6. 用python画简单的猴子画法_简笔画猴子画法的图片简单的教程

    峨眉山的猴子都被称为见过世面的"老油条",猴子在树干间跳跃,时不时朝游客做个鬼脸,调皮的吐吐舌头.那么猴子的简笔画要怎么画呢?小编今天教大家画猴子,步骤很简单,一起来学习吧! 猴子 ...

  7. 用python画简单的动物-如何用python画简单的动物

    首先来看一下实现效果,如下图: 具体实现代码请看: (推荐学习:python视频教程)# -*- coding:utf-8 -*-# __author__ :kusy# __content__:文件说 ...

  8. matlab把图像进行网格化,或者是在图像中画网格

    by:黄光耀 % %%%%%%%%%%%画网格%%%%%%%%%% % %%%%%%%%%%把带瓶盖的托盘完全分割开%%%%%%%%% % close all % clc % clear % %% 读 ...

  9. matlab给图像加网格,matlab把图像进行网格化,或者是在图像中画网格

    by:黄光耀 % %%%%%%%%%%%画网格%%%%%%%%%% % %%%%%%%%%%把带瓶盖的托盘完全分割开%%%%%%%%% % close all % clc % clear % %% 读 ...

最新文章

  1. nodejs yarn包管理工具
  2. Unity3D Adam Demo的学习与研究
  3. stm32学习之新建工程
  4. windows server如何加强云服务器的安全性
  5. python与用户交互、数据类型
  6. 从你的全世界路过-论演员的自我修养
  7. elf文件格式实例解析
  8. ubuntu开机时网络图标不见了且不能上网
  9. 纯野今日之最:面试谈
  10. linux内核数据结构实现--链表、队列和哈希
  11. 2021-08-24XLNET 语言模型
  12. 单片机常用的14个C语言算法,看过的都成了大神!
  13. cmd net use 命令
  14. SCRUM敏捷开发教程
  15. Bridge 双维度扩展
  16. 从蚂蚁金服的BI和大数据团队建设,看透BI发展,再不懂就落伍了
  17. 37个项目!2020年5G+智慧灯杆项目落地情况大汇总
  18. 微信小程序获取当前所在城市(地区定位与切换)
  19. FFMPEG使用 frei0r 给视频添加马赛克效果
  20. 4.2.1朴素模式匹配算法

热门文章

  1. 正则表达式中(括号) [方括号] {大括号}的区别
  2. CSDN-markdown编辑器帮助文档
  3. 人工神经网络是符号主义,神经网络的符号表达式
  4. 转 GitHub上史上最全的Android开源项目分类汇总
  5. (转)ubuntu个人桌面使用经验
  6. 西游记对道教佛教都有贬损
  7. MATLAB符号数学解非线性方程组 -- 眼球反射模型
  8. 解决img标签src路径为本地路径访问受限问题:Not allowed to load local resource
  9. linux的无值守安装实例
  10. 爬取百度翻译中得到sign值