计算IOU,切片图片等。

ai-tool的Python项目详细描述


人工智能工具

人工智能工具

切片图片

fromai_tool.img_slideimportyield_sub_img# yield the sub image from the jpgforbbox,sub_imginyield_sub_img("test.jpg",0,0,180,60):clip="-".join([str(x)forxinbbox])print("sub img:{}".format(clip))cv2.imshow(clip,sub_img)cv2.waitKey(0)

IOU

计算拖车箱的IOU,

示例框11、2、101、102。位置(1,2)左上,位置(101102)右下。

fromai_tool.bboximportBBoxbbox1=BBox([1,2,101,102])bbox2=BBox([11,12,121,122])iou=bbox1/bbox2print("iou",iou)assertiou>0.5print('box1 S is',bbox1.S)print('box1 & box2',bbox1&bbox2)print('box1 == box2',bbox1==bbox2)print('merge box1 + box2',bbox1+bbox2)print('merge box1 | box2',bbox1|bbox2)

结果是:

iou 0.5785714285714286
box1 S is 10000
box1 & box2 [11, 12, 101, 102]box1== box2 True
merge box1 + box2 [1, 2, 121, 122]
merge box1 | box2 [1, 2, 121, 122]

多bbox操作

fromai_tool.bboximportBBoxes,BBoxbb1=BBoxes(iou_thresh=0.6)bb2=BBoxes()bb1.append([1,2,101,102])bb1.append([1000,2,1101,102])bb2.append([11,12,111,112])bb2.append([1,1002,101,1102])# judge the bbox in bb1print("[5, 5, 100, 100] in bb1",BBox([5,5,100,100])inbb1)print("[100, 5, 200, 100] in bb1",BBox([100,5,200,100])inbb1)# bb1 & bb2print("bb1 & bb2",bb1&bb2)print("bb1 - bb2",bb1-bb2)print("bb2 - bb1",bb2-bb1)

结果是

[5, 5, 100, 100] in bb1 True
[100, 5, 200, 100] in bb1 False
bb1 & bb2 [[1, 2, 101, 102]]
bb1 - bb2 [[1000, 2, 1101, 102]]
bb2 - bb1 [[1, 1002, 101, 1102]]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在JBoss7.1中调试JSP。十、   Android中的switch语句中没有设置java数组   字符串替换Java文件中的特定表达式   java Floodfill StackOverFlow,IDEA   java如何检查向量向量中的位置是否超出边界?   java无法获取编码的XML字符串的值   正则表达式如何在Java中用lambda函数替换字符串   java在2D数组的行和列中生成非重复数字   java JFileChooser>“查找”奇怪的名称   Java中的对象共享集合锁定   Java绑定异常   MutableLiveData中的java Toast消息。观察()反复工作   sql在java的PrepareStatement中重用参数   使用Java处理跨浏览器的多次登录   java在安卓中处理网络请求响应