我是靠谱客的博主 长情豌豆,这篇文章主要介绍python读取单个文件,opencv画矩形框1 python读取单个文件2 opencv在图片上画矩形框3 python读取文件,opencv在图片上画矩形框参考博客,现在分享给大家,希望可以做个参考。

python读取文件,opencv在图片上画矩形框

  • 1 python读取单个文件
  • 2 opencv在图片上画矩形框
    • 2.1 图片操作
    • 2.2 绘制矩形框
  • 3 python读取文件,opencv在图片上画矩形框
  • 参考博客

1 python读取单个文件

附代码,中间的部分注释代码可以不用管,留着只是方便自己以后查看。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
with open('plane.txt', 'r') as f: # 打开当前文件夹下面的plane.txt文件,文件打开操作区别,可以参考这个对文件读写进行了解https://www.cnblogs.com/zyber/p/9578240.html lines = f.readlines() splitlines = [x.strip().split(' ') for x in lines]# strip()是删除,split()是分割。 #有关strip()和split()函数的用法,参见 #https://www.cnblogs.com/yyxayz/p/4034299.html #https://www.jb51.net/article/104453.htm #print(splitlines) #print(len(splitlines)) splitlines = splitlines[2:] #此时splitlines是矩阵,矩阵基本操作,这句意思是跳过文件前两行不进行处理。这里主要区分数组np.array和列表list区别。 for splitline in splitlines: #print(splitline) #print(len(splitline)) #print(float(splitline[1])) if(float(splitline[1]) >= 0.5): #print(float(splitline[1])) print(splitline) i=i+1 splitline = splitline[2:]#这是1维的,不是矩阵,对应前面矩阵,这操作表示跳过前两个值不处理。 print(splitline) x, y, x1, y1 = splitline#这四个值都是字符串类型str,python没有字符类型,单个字符的类型被称作只含有一个字符的字符串类型 x, y, x1, y1 = float(x), float(y), float(x1), float(y1)#这里需要注意,不能直接用int()转换,原因是int()只能包含数字,不能包含.之类的,否则报错,具体错误参考https://blog.csdn.net/qq_41891803/article/details/81321323 #print(x, y, x1, y2) draw_1=cv2.rectangle(image, (int(x),int(y)), (int(x1),int(y1)), (0,255,0), 2) #print(i)

2 opencv在图片上画矩形框

2.1 图片操作

附代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import cv2 # 在当前文件夹下读取图片 image = cv2.imread("P0170.png") GrayImage=cv2.cvtColor(image ,cv2.COLOR_BGR2GRAY) # 对GrayImage进行处理的程序 cv2.imwrite("vertical_flip.jpg", GrayImage)#将处理过的图片保存到当前文件夹 # cv2.namedWindow("draw_0",2) # 2的意思是可以调整显示框的大小,1不能调整,不需要调整框的大小可以不用这句话 cv2.imshow("draw_0", GrayImage)#显示图片 cv2.waitKey(0) cv2.destroyWindow("draw_0")

2.2 绘制矩形框

就是利用cv2.rectangle函数

复制代码
1
2
3
4
5
6
draw_1=cv2.rectangle(image, (x,y), (x1,y1), (0,255,0), 2) # image表示处理的图片 # (x,y)和(x1,y1)分别表示矩形框的左上和右下两个点 # (0,255,0)表示框的颜色 # 2表示框的粗细

3 python读取文件,opencv在图片上画矩形框

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*- """ Created on Sun Apr 26 12:16:24 2020 @author: cxz_w """ import cv2 image = cv2.imread("P0170.png") GrayImage=cv2.cvtColor(image ,cv2.COLOR_BGR2GRAY) with open('plane.txt', 'r') as f: lines = f.readlines() splitlines = [x.strip().split(' ') for x in lines] for splitline in splitlines: if(float(splitline[1]) >= 0.5): print(splitline) splitline = splitline[2:] print(splitline) x, y, x1, y1 = splitline x, y, x1, y1 = float(x), float(y), float(x1), float(y1) #print(x, y, x1, y2) draw_1=cv2.rectangle(image, (int(x),int(y)), (int(x1),int(y1)), (0,255,0), 2) cv2.imwrite("vertical_flip.jpg", draw_1) cv2.namedWindow("draw_0",2) cv2.imshow("draw_0", draw_1) #显示画过矩形框的图片 cv2.waitKey(0) cv2.destroyWindow("draw_0")

P0170.png
在这里插入图片描述
plane.txt

在这里插入图片描述
vertical_flip.jpg在这里插入图片描述
至此,问题解决。

参考博客

https://blog.csdn.net/weixin_38145317/article/details/89497616

最后

以上就是长情豌豆最近收集整理的关于python读取单个文件,opencv画矩形框1 python读取单个文件2 opencv在图片上画矩形框3 python读取文件,opencv在图片上画矩形框参考博客的全部内容,更多相关python读取单个文件,opencv画矩形框1内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部