参考代码:https://github.com/cuijiaxun/FaceRecognitionByMatlab 中的LabelDetectWindow.m

在目标检测的时候,一般都需要用矩形框圈出目标在图片中的大致范围,这时候可以考虑使用下面总结的两种方式:

1 利用在给定图片中矩形边框所处的位置的像素值赋值,从而显示出矩形框

% 2017-12-18 席**

% 给原始图像指定位置加上矩形边框标记

% 原理:给图片中矩形边框所在的位置像素值赋值,从而显示出矩形框

% 输入:

% image 需要进行标记的图像

% windowLocation 矩形框位置,其格式为[x,y],即[x坐标,y坐标](该位置为矩形最靠下最靠右的顶点)

% windowSize 矩形框尺寸,其格式为[height,width],即[高度,宽度]

%

% 输出:

% drawRectangleImage 在原始图像上加上矩形框的标记图像(仍为图像)

%

function [drawRectangleImage] = drawRectangleFrame01(image,windowLocation,windowSize)

[row,col] = size(image); % 输入图像尺寸

x = windowLocation(1);%矩形框位置坐标,其格式为[x,y]

y = windowLocation(2);

height = windowSize(1);%矩形框尺寸,其格式为[height,width],即[高度,宽度]

width = windowSize(2);

if((x<=row && y<=col)&&(height<=row && width<=col))

disp('矩形框合法!');

LabelLineColor = 255; % 标记线颜色

drawRectangleImage = image;

topMost = x-height; % 矩形框上边缘

botMost = x; % 矩形框下边缘

lefMost = y-width; % 矩形框左边缘

rigMost = y; % 矩形框右边缘

drawRectangleImage(topMost:botMost,lefMost,:) = LabelLineColor; % 左边框

drawRectangleImage(topMost:botMost,rigMost,:) = LabelLineColor; % 右边框

drawRectangleImage(topMost,lefMost:rigMost,:) = LabelLineColor; % 上边框

drawRectangleImage(botMost,lefMost:rigMost,:) = LabelLineColor; % 下边框

else

disp('矩形框不合法!');

end

2 利用hold on / hold off和rectangle函数在figure中绘出矩形框

这种方法得到只是一个figure,要想利用该figure还需自己保存为图像,不像1中可直接为工作空间中的图像变量

% 2017-12-18 席**

% 给原始图像指定位置加上矩形边框标记

% 原理:利用hold on / hold off和rectangle函数在figure中绘出矩形框

% 输入:

% image 需要进行标记的图像

% windowLocation 矩形框位置,其格式为[x,y],即[x坐标,y坐标](该位置为矩形最靠下最靠右的顶点)

% windowSize 矩形框尺寸,其格式为[height,width],即[高度,宽度]

%

% 输出:

% drawRectangleImage 并不是一个图片,而是一个???

%

function [drawRectangleImage] = drawRectangleFrame(image,windowLocation,windowSize)

[row,col] = size(image); % 输入图像尺寸

x = windowLocation(1);%矩形框位置坐标,其格式为[x,y]

y = windowLocation(2);

height = windowSize(1);%矩形框尺寸,其格式为[height,width],即[高度,宽度]

width = windowSize(2);

if((x<=row && y<=col)&&(height<=row && width<=col))

disp('矩形框合法!');

figure;imshow(image);

hold on

drawRectangleImage = rectangle('Position',[y-width,x-height,width,height],'LineWidth',4,'EdgeColor','r');

hold off

else

disp('矩形框不合法!');

end

测试调用的函数为

clear;close all;clc

I = imread('F:\matlab\drawRectangle\image_0101.jpg');

[row,col,n] = size(I); % 输入图像尺寸

II = rgb2gray(I);

III = drawRectangleFrame(II,[360,480],[200,100]);

%figure();

%imshow(III);

运行效果

1:

2:(手动保存的figure)

matlab中给图像加几个矩形框_在图像中画矩形框(matlab)相关推荐

  1. java处理图像减小大小不改变像素_在Java中调整图像大小以降低内存消耗

    ImageMagick的"转换"命令行工具使您可以在执行操作时指定内存使用限制. 我想找到一个提供相同选项的Java图像大小调整库. 我的应用程序有时会获得非常大的JPEG,因此需 ...

  2. python显示文字框_在Python 中实现图片加框和加字的方法

    第一步:安装opencv-python rpm -ivh opencn-python-2.4.5-3.el7.ppc64le.rpm 第二步:引用cv2 import cv2 第三步:读入图片,必须是 ...

  3. java中怎么让字体可以显示下划线呢_数字文字中的下划线(Java 7特性)

    Java 7的一个特性是数字文字中的下划线.可以在任何数字文字的数字之间放置下划线,如:int,byte,short,float,long,double.在数字文字中使用下划线将它们分成组以获得更好的 ...

  4. matlab中给图像加几个矩形框_没想到!PPT中的这个效果,用好了,简直就是渣图美化器...

    相信大家一定看到过,透过磨砂玻璃呈现在眼前的景色,是不是有种朦胧美? 其实,在PPT中你也可以复刻出这样的效果.例如,这样的PPT页面: 把背景虚化掉,更加突出主题. 你想知道PPT中的磨砂效果,都是 ...

  5. python函数图像加标签_tkinter(py3)更改图像标签,函数内部,实时

    我正在学习使用tkinter,我试着在咖啡机上有4个按钮,每个按钮都会创建一个新窗口,按顺序显示图像,就像幻灯片一样.我所做的不起作用,因为它只显示幻灯片中的最后一个图像,而忽略了其余部分.在Pyth ...

  6. picturectrl控件中加载图片并显示_在 CRA 中使用 webp 图片提升加载性能

    webp 是 google 提倡的一种新的 image 格式,意在为 web 提供体积更小的图片格式.通常情况下,无损压缩可以减小 25%-35% 的体积(有例外情况,反而会增大体积,但是是因为转换图 ...

  7. 在模糊查询中怎样事先加载页面_8种信息类型,中后台产品功能自查清单

    产品经理在梳理产品需求文档时需要把每一个功能的逻辑关系.交互方式都整理全面,为了避免疏漏,与开发评审前,建议每位产品都 Check 几遍文档.本文整理了一份中后台产品功能自查清单,供大家参考,如有不全 ...

  8. python中参数前面加星号是什么意思_详解Python函数中参数带星号是什么意思

    函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...

  9. wpf 带图像的文本框_注意WPF中带有图像PNG的DPI-图像比例奇怪或模糊

    wpf 带图像的文本框 Is that enough TLAs (Three Letter Acronyms) in the title there? I continue to mentally d ...

最新文章

  1. Struts2 interceptor使用经验小结
  2. T-SQL 根据年月日创建DateTime
  3. 循环神经网络RNN的基本组件(五)
  4. 由单例模式造成的内存泄漏
  5. pythonwhile循环love_python基础之while循环及编码
  6. skyline point解析
  7. 数据科学入门与实战:Matplotlib绘图hist
  8. ubuntu14在kDE界面下的关于eclipse提示框黑色背景的修改!
  9. 雅虎相册批量下载 Beta2 版本 --纪念 5.12 汶川大地震
  10. 响铃:金蝶的SaaS第一能保持多久?
  11. vivado使用方法(初级)
  12. python中num函数是什么意思_如何理解python3函数中num的用法?
  13. opencv读取透明图片
  14. UDS的19 04读取快照信息解析
  15. 机器学习(一)——基础概念
  16. 【20230204】Ubuntu系统备份与恢复
  17. python 代码转程序_如何用pyinstaller把自己编写的python源代码转换成可执行程序?...
  18. 逻辑代数基本公式及定律
  19. 我的世界java版指令保留物品栏_我的世界或将在模式切换中保存物品栏
  20. Gartner:2021年区块链三大顶级趋势

热门文章

  1. Android 如何使用GPU硬件加速
  2. 图像滤镜的一些加速和改进--笔记
  3. 青龙羊毛——某世界扶持及新脚本
  4. 47 APScheduler安装及基本概念
  5. enter不换行 wps_WPS快捷键大全
  6. 运维Linux redis,系统运维|如何在 CentOS 7 上安装 Redis 服务器
  7. 数据库生存曲线_WGCNA、生存分析、ROC共同筛选biomarker
  8. linux下free命令详解
  9. adb devices检测不到夜神模拟器的解决办法
  10. Lua和C语言的交互——C API