纯原创,略带点科技艺术气息的目标检测框

46 篇文章 26 订阅
订阅专栏
7 篇文章 0 订阅
订阅专栏
5 篇文章 0 订阅
订阅专栏

🔱前言 

        如果说作为一名程序员,我要求我自己要不断的求证,那么同时作为一名热爱艺术的人,我则无法忍受主流的那种“丑陋”目标检测框(下图),所以这篇文章也就应用而生了。

在这里插入图片描述


纯原创,略带点科技艺术气息的目标检测框

🔱检测框展览

🔱在实际应用中效果的展览

 📍Face

 📍Body

🔱Code柜

 📍magic_bbox.py

 📍demo.py


🔱检测框展览

🔱在实际应用中效果的展览

 📍Face

 📍Body

🔱Code柜

 📍magic_bbox.py

# -*- coding: UTF-8 -*-
"""
@Time    : 2022-9-15
@Author  : 江子良
@Email   : 2642898145@qq.com
"""
import cv2
import numpy as np

class Magic_Bbox(object):
 
    def __init__(self, color=(255, 255, 0), threasould=0.16):
        self.color = color
        self.threasould = threasould
        self.out_img = np.array([])
 
    def draw(self, old_image, b, draw_type):
        if draw_type == '0':
            cv2.rectangle(old_image, (b[0], b[1]), (b[2], b[3]), self.color, 1)
            b0_, b1_, b2_, b3_ = int((b[2]-b[0])*self.threasould), int((b[3]-b[1])*self.threasould), int((b[2]-b[0])*self.threasould), int((b[3]-b[1])*self.threasould)
            # 左上
            cv2.line(old_image, (b[0], b[1]), (b[0], b[1] + b1_), self.color, 4, 4)
            cv2.line(old_image, (b[0], b[1]), (b[0] + b0_, b[1]), self.color, 4, 4)
            # 右下
            cv2.line(old_image, (b[2], b[3]), (b[2], b[3] - b3_), self.color, 4, 4)
            cv2.line(old_image, (b[2], b[3]), (b[2] - b2_, b[3]), self.color, 4, 4)
            # 左下
            cv2.line(old_image, (b[0], b[3]), (b[0], b[3] - b3_), self.color, 4, 4)
            cv2.line(old_image, (b[0], b[3]), (b[0] + b0_, b[3]), self.color, 4, 4)
            # 右上
            cv2.line(old_image, (b[2], b[1]), (b[2], b[1] + b1_), self.color, 4, 4)
            cv2.line(old_image, (b[2], b[1]), (b[2] - b2_, b[1]), self.color, 4, 4)
 
        elif draw_type == '1':
            cv2.rectangle(old_image, (b[0], b[1]), (b[2], b[3]), self.color, 1)
            b0_, b1_, b2_, b3_ = 25, 25, 25, 25
            temp = 10
            # 左上
            cv2.line(old_image, (b[0] - temp, b[1] - temp), (b[0], b[1] + b1_), self.color, 4, 4)
            cv2.line(old_image, (b[0] - temp, b[1] - temp), (b[0] + b0_, b[1]), self.color, 4, 4)
            # 右下
            cv2.line(old_image, (b[2] + temp, b[3] + temp), (b[2], b[3] - b3_), self.color, 4, 4)
            cv2.line(old_image, (b[2] + temp, b[3] + temp), (b[2] - b2_, b[3]), self.color, 4, 4)
            # 左下
            cv2.line(old_image, (b[0] - temp, b[3] + temp), (b[0], b[3] - b3_), self.color, 4, 4)
            cv2.line(old_image, (b[0] - temp, b[3] + temp), (b[0] + b0_, b[3]), self.color, 4, 4)
            # 右上
            cv2.line(old_image, (b[2] + temp, b[1] - temp), (b[2], b[1] + b1_), self.color, 4, 4)
            cv2.line(old_image, (b[2] + temp, b[1] - temp), (b[2] - b2_, b[1]), self.color, 4, 4)
 
        elif draw_type == '2':
            cv2.rectangle(old_image, (b[0], b[1]), (b[2], b[3]), self.color, 1)
            b0_, b1_, b2_, b3_ = 25, 25, 25, 25
            temp = 10
            # 左上
            cv2.line(old_image, (b[0] - temp, b[1] - temp), (b[0] - temp, b[1] + b1_ - temp), self.color, 4, 4)
            cv2.line(old_image, (b[0] - temp, b[1] - temp), (b[0] - temp + b0_, b[1] - temp), self.color, 4, 4)
            # 右下
            cv2.line(old_image, (b[2] + temp, b[3] + temp), (b[2] + temp, b[3] - b3_ + temp), self.color, 4, 4)
            cv2.line(old_image, (b[2] + temp, b[3] + temp), (b[2] + temp - b2_, b[3] + temp), self.color, 4, 4)
            # 左下
            cv2.line(old_image, (b[0] - temp, b[3] + temp), (b[0] - temp, b[3] - b3_ + temp), self.color, 4, 4)
            cv2.line(old_image, (b[0] - temp, b[3] + temp), (b[0] - temp + b0_, b[3] + temp), self.color, 4, 4)
            # 右上
            cv2.line(old_image, (b[2] + temp, b[1] - temp), (b[2] + temp, b[1] + b1_ - temp), self.color, 4, 4)
            cv2.line(old_image, (b[2] + temp, b[1] - temp), (b[2] + temp - b2_, b[1] - temp), self.color, 4, 4)
        
        return old_image
 
    def show(self, img):
        cv2.imshow('fame', img)
        cv2.waitKey(0)

 📍demo.py

@Time    : 2022-9-15
@Author  : 江子良
@Email   : 2642898145@qq.com
@param: img | 这个参数是要传入准备被作画的图片
@param:bbox| 这个参数是要传入准备作画的目标框位置 格式:(xmin,ymin,xmax,ymax)
@pararm:type| 这个参数是一一对应上面3种不同的目标检测框
@pararm:color| 请根据RGB表自行设置哦!
"""
 RGB颜色对照表戳这里~http://t.csdn.cn/9z0SF

How to use? 

from magic_bbox import Magic_Bbox
import numpy as np
import cv2

if __name__ == "__main__":
    img = np.zeros((320, 320, 3), np.uint8)  # 生成一个空灰度图像用于演示
    bbox = (60, 60, 260, 260)    # 生成一个bbox用于演示
    color = (255,255,0)
    '''
    type: 0 | 1 | 2
    '''
    mb = Magic_Bbox(color=color)
    img = mb.draw(img, bbox, '1')
    mb.show(img)

完毕!

如果大家觉得有用的话,欢迎三连喔~

RSOD目标检测数据集
01-05
RSOD是一个开放的目标检测数据集,用于遥感图像中的目标检测。数据集包含飞机,油箱,运动场和立交桥,以PASCAL VOC数据集的格式进行标注。 数据集包括4个文件夹,每个文件夹包含一种对象: 1.飞机数据集,446幅图像...
基于深度学习的目标检测算法综述
01-16
本人原创 保留著作权
cv2.rectangle()在图像上画矩形的用法
热门推荐
shuijinghua的博客
04-25 11万+
cv2.rectangle, 确实是靠 确定对角线 来画矩形的。 cv2.rectangle(img, (bbox.left, bbox.top), (bbox.right, bbox.bottom), (0,0,255), 2) # encoding:utf-8 import cv2 import numpy as np image = cv2.imread("girl.jpg") Gr...
【opencv】cv2.rectangle 报错:TypeError: Layout of the output array rectList is incompatible with cv::Mat
JianJuly的博客
07-13 997
问题: 使用Python + Opencv 对图像进行矩形标注时 cv2.rectangle(img, (box[0], box[1]), (box[2], box[3]), (0, 255, 0) ,2) 报错: TypeError: Layout of the output array rectList is incompatible with cv::Mat (step[n...
python-opencv 中 cv2.boundingRect 以及 cv2.rectangle用法
fjswcjswzy的博客
04-29 1万+
矩形边(Bounding Rectangle)是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小,效果见下图: 首先介绍下cv2.boundingRect(img)这个函数 这个函数很简单,img是一个二值图,也就是它的参数; 返回四个值,分别是x,y,w,h; x,y是矩阵左上的坐标,w,h是矩阵的宽和高 然后利用cv2.rectangle(img, (x,y),...
cv2读取图片绘制目标检测
sunmenmian的博客
08-02 1271
cv2读取图片绘制目标检测
cv2.rectangle()函数
是小武呀
11-21 9万+
cv2.rectangle()函数 cv2.rectangle(img, pt1, pt2, color, thickness, lineType, shift ) 参数表示依次为: (图片,长方形左上角坐标, 长方形右下角坐标, 字体颜色,字体粗细) 在图片img上画长方形,坐标原是图片左上角,向右为x轴正方向,向下为y轴正方向。左上角(x,y),右下角(x,y) ,颜色(B,G,R), 线的粗细 如: cv2.rectangle(frame, (int(bbox[0]), int(bbox[
检测文章原创度工具
04-16
检测文章原创度工具
自媒体文章原创检测工具
03-19
自媒体文章原创检测工具
悟空原创文章检测.exe
04-02
悟空原创文章检测工具,检测文章是否重复,提高原创文章水平,很好用
利用cv2.rectangle()绘制矩形(python)
helloworld_Fly的博客
06-05 2万+
cv2.rectangle包含的参数有:(img, pt1, pt2, color, thickness=None, lineType=None, shift=None ) 各参数的含义如下: 总结 cv2.rectangle(读取图片变量, (左上角坐标)(右下角坐标),(颜色),(线宽))cv2.addWeighted 的原理是:将复制图片(以下称 blk)绘制实心矩形并调整透明度,叠加到原图中。 各参数的含义如下: 总结 使用cv2.addWeighted主要是确定好前景和后景图片,指定透明度即可
cv2.rectangle()
liguandong
04-10 9213
cv2.rectangle() void cv::rectangle ( InputOutputArray img, Point pt1, Point pt2, const Scalar & color, int thickness = 1, int lineType = LINE_8, int shift = 0 ) Python: img = cv.rectangle( img, pt1, pt2, color[, thickness[, lineType[, shif
Python画矩形cv2.rectangle()
小花生的博客
07-17 1万+
cv2.rectangle,是靠 确定对角线 来画矩形的。 cv2.rectangle(img, (bbox.left, bbox.top), (bbox.right, bbox.bottom), (0,0,255), 2) import os import cv2 if __name__ == '__main__': imgPath = r"./test.jpg" img = cv2.imread(imgPath) xmin = 100 xmax = 200 ym
2024年度西咸新区科技计划项目征集类别、申报要求和时间程序
最新发布
wotao18654183637的博客
06-14 376
科技计划项目严禁转包、分包。项目申报单位应明确项目负责人,一般应为申报单位的在职人员(若为兼职人员,须提供在职单位批准兼职和兼职单位聘用的有效证明)。项目负责人是该项目主体研究思路的提出者和实际主持研究人员,须具有领导和组织开展科学研究的能力,且保证项目执行期内在职,有足够的时间用于该项目研究工作。项目的可行性研究报告中不得出现可能影响评审公平公正的相关信息(包括项目负责人姓名、项目组成员姓名、依托单位名称、合作单位名称等),描述时可用“*”代替,否则视为项目负责人故意泄露相关信息,形式审查将不予通过。
聚鼎科技:装饰画哪里好卖
judingmaoyi的博客
06-12 363
考虑销售的平台或场所。因此,制定合理的价格策略,既要确保艺术创作的劳动得到公正的回报,又要考虑市场的接受程度。找到《装饰画哪里好卖》的答案,需要对市场有深入的了解和分析,同时结合线上线下多种渠道的优势,采用灵活多变的销售策略。这样,无论是艺术家还是商家,都能在竞争激烈的市场中找到属于自己的一席之地。进行市场调研,分析消费者的年龄、职业、文化背景及审美倾向,有助于确定装饰画的风格、主题和价格定位。在当代社会,艺术与商业的界限日益模糊,装饰画作为一种既能美化空间又能体现个人品味的物品,受到了广泛的欢迎。
北斗导航:让科技引领未来出行
QXWZ_的博客
06-12 361
它的高精度和可靠性为我们的出行提供了更好的保障,同时也为智能化出行、应急救援、气象预警和精准农业等领域带来了更多的可能。随着技术不断发展,我们有理由相信,北斗导航将继续发挥更大的作用,让我们的未来出行更加智能、便捷。在应急救援中,北斗导航的定位服务能够帮助寻找被困人员的准确位置,提高救援效率。未来,北斗导航有望在智能出行领域发挥更大的作用。例如,与自动驾驶技术相结合,北斗导航可以实现车辆的高精度定位和自主导航,极大地提升交通安全性。北斗导航凭借其优秀的性能,为我们的出行提供了准确、可靠的定位服务。
江协科技STM32学习- 2安装Keil5-MDK
weixin_40289409的博客
06-12 206
今天 2024/06/12 开始学习下江协科技STM32课程,安装 Keil5-MDK 用于STM32 ARM 单片机编写和编译。
镜舟科技携手中通快运,入选 2024 爱分析·数据库应用实践报告
Mirrorship的博客
06-11 718
典型案例:中通快运重构数据中心,满足业务多种复杂分析需求中通快运成立于2016年,是中通品牌旗下快运企业,聚焦数智物流新趋势, 提供面向企业及个人客户的全链路一站式物流服务。目前中通快运全国揽派件网有21000 余家,分拨中心超80个,自有运输车辆 9600 余台,区县覆盖率达99%。
ssd目标检测 部署
09-02
SSD(Single Shot MultiBox Detector)是一种常用的目标检测算法之一,可以用于识别图像中的物体。SSD算法的实现可以通过Object Detection API来完成。该API支持多种目标检测算法,包括faster-rcnn、rfcn、ssd和mask...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 全网最简约的Vscode配置Anaconda环境(百分百成功) 74963
  • 全网最简约的Anaconda+Python3.7安装教程Win10(百分百成功) 28903
  • 【图像分类数据集】非常全面实用的垃圾分类图片数据集共享 20328
  • 极致鸿蒙2.0——华为MatePad系列安装AidLux,一个自带vscode的Python编译环境 16190
  • 【方便的Opencv】实现播放有声音的视频+附带图片生成gif 12624

分类专栏

  • 开源数据集 付费 7篇
  • AI算法工程师 5篇
  • 开发 7篇
  • 智能化测试 2篇
  • minIO与Sql
  • 《spy指南》
  • spy第一弹:不可忽视的安全 1篇
  • spy第二弹:刺激的运输战场 1篇
  • spy第三弹:逃离是非之地
  • Python全栈工程师 5篇
  • 爬虫和逆向js 1篇
  • Vue前端框架
  • Web前后端开发和测试 5篇
  • 并发编程的魅力 2篇
  • 数据库与Redis缓存
  • Kafka通信和网络编程 1篇
  • Linux下的Docker容器技术 1篇
  • Kubernetes云原生
  • 深度学习 46篇
  • Np手撕神经网络 6篇
  • 环境配置(DL) 14篇
  • NLP 1篇
  • 步态识别 10篇
  • 人脸识别 2篇
  • 目标检测 5篇
  • 目标追踪 3篇
  • 姿态估计 1篇
  • 图像分类 6篇
  • TensorRT 1篇
  • 模型剪枝、量化和知识蒸馏 1篇
  • 机器学习 17篇
  • 环境配置(ML) 5篇
  • 数学家的numpy 6篇
  • sklearn 11篇
  • 数据可视化 2篇
  • 图像处理 6篇
  • 基础图像知识 3篇
  • 方便的OpenCV 7篇
  • 全景拼接 1篇
  • 图像混合 1篇
  • 图像压缩 1篇
  • 图像纠偏
  • 事件相机 1篇
  • 数据结构/算法 5篇
  • c语言 1篇
  • 美丽的C++ 4篇
  • 优美的Python 13篇
  • 软著 | 软考 1篇
  • 趣味编程老师

最新评论

  • 跑通ByteTrack_Yolovx(跑不通你来揍我)

    hw-zero: 提示找不到yolox Traceback (most recent call last): File "tools/demo_track.py", line 10, in <module> from yolox.data.data_augment import preproc ModuleNotFoundError: No module named 'yolox'

  • 极致鸿蒙2.0——华为MatePad系列安装AidLux,一个自带vscode的Python编译环境

    2301_79572168: 还有你说很多都不知道,点新手指引,或者去社区询问,直接去官方联系询问,

  • 初学者该如何选择最适合自己的图像分类模型

    weixin_55561588: 这让初学者怎么选??

  • 全景拼接python旗舰版

    我叫北北鸭: 解决了,是由于图像大小对问题,108行左右result[0:imageB.shape[0], 0:imageB.shape[1]] = imageB前面加上几行代码 if imageB.shape[0]>result.shape[0]: BLACK = [0, 0, 0] result = cv2.copyMakeBorder(result,0,imageB.shape[0]-result.shape[0],0,0,cv2.BORDER_CONSTANT,value=BLACK) flt_show(result) 完美解决了

  • 跑通GaitSet(跑不通你来揍我)

    米西西646: 您好,请问具体该怎么解决呢,数据集路径不是预处理后数据的路径吗

大家在看

  • 如何在鸿蒙系统中设置Image的按压态 74
  • JavaScript ES6 新特性探索:Proxy 解锁编程新境界 1834
  • 接口和抽象类有什么区别?
  • 【PL理论】(25) C- 语言:表达式求值的推理规则 | 执行语句的推理规则 | 语句执行的推理规则
  • 在鸿蒙移动开发中处理ETS层与C++层之间的数组传递 278

最新文章

  • Flask如何在后端实时处理视频帧在前端展示
  • Flask前端页面文本框展示后端变量,路由函数内外两类
  • 占显存类代码随手丢垃圾习惯的重要性
2024年9篇
2023年32篇
2022年87篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大气层煮月亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

哆哆女性网小型餐饮起名大全起名免费取名测分数怎样加入阿果达起名沈阳万科新里程十六画字有哪些起女孩名字用柴火灶台店起名字五年级上册语文第一单元作文vb6.0精简版荡气回肠什么意思猎头公司起名叛逆的鲁鲁修第二季动漫分手再说我爱你粤语比利时国王生辰八字起名免费中间字巴萨6冠王白羊座和什么座最配免费起名网软件免费起名网评分表武汉经济学院提肛运动怎么做才正确起名 李 女孩给女儿起名叫什么名字好玄学入门郑字名字起名字马头社subverse中医理疗门店起名生肖属鼠男宝宝起名八十天环游地球读后感根据八字免费起名子房间起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化