百度1+x证书
实验简介:
使用标注工具对图像进行标注,并读取标注文件,将读取的物体区域大小,并在原图绘制出矩形框
实验指南:
现有多张动物图片存放于/home/ edustudio/ projectroot/data/中,图片以"0.jpg、 1.jpg、 2.jpg…" 的形式按顺序进行命名。动物图片分为猫和狗,请按照下列要求完成:
(1)使用标注工具labelme图片分类标注,属于猫、狗的图片分别标注"cat" 、“dog” ;
(2)然后依据标注产生的标注文件上信息,在对应的原始图片上使用opencv绘制黄色矩形框,并配白色文字。
请编写Python代码完成下述要求:
保存答案要求:
- /home/ edustudio/ projectroot/是本题考试环境。
2.请先将/home/ edustudio/ projectroot/考试环境下的所有文件全部复制到/ home/ edustudio/ answers/目录下。
3.请把代码答案保存为Q1.py文件,并将Q1.py存放在/ home/ edus tudio/ answers/目录下。
代码要求:
1.在/home/ edus tudio/ answers/下创建. /output目录,在output目录下分别创建dog、cat文件夹,
2.将上述步骤(2) 图像且标注信息为"cat" 图像文件保存在cat文件夹,图片名称依次是cat1jpg、cat2jpg、 cat3jpg,将上述步骤(2)图像且标注信息为"dog" 图像文件保存在dog文件夹,图片名称依次是dog1.jpg、 dog2jpg、 dog3.jpg
import os
import json
import cv2
path_img='/root/Desktop/home/edustudio/projectroot/data/'
path='/root/Desktop/home/edustudio/answers/output/'
path_dog='/root/Desktop/home/edustudio/answers/output/dog/'
path_cat='/root/Desktop/home/edustudio/answers/output/cat/'
os.mkdir(path)
os.mkdir(path_dog)
os.mkdir(path_cat)
img_name=os.listdir(path_img)
num=1
num1=1
a=[]
for j in img_name:
a.append(str(j.split('.')[0]))
for i in set(a):
js=json.load(open(path_img+i+'.json','r'))['shapes'][0]
label=js['label']
pt1 =js['points'][0]
pt2=js['points'][-1]
x1, y1 = int(pt1[0]), int(pt1[1])
x2, y2 = int(pt2[0]), int(pt2[1])
img=cv2.imread(path_img+i+'.jpg')
cv2.rectangle(img,(x1,y1),(x2,y2),(0,255,255),3)
cv2.putText(img,label,(x1,y1-5),cv2.FONT_HERSHEY_SIMPLEX,2,(255,255,255),3)
if label=='dog':
cv2.imwrite(path_dog+'dog'+str(num)+'.jpg',img)
num+=1
else:
cv2.imwrite(path_cat + 'cat' + str(num1) + '.jpg',img)
num1 += 1
实验简介:
对数据医像文件及文件夹进行读取。进行水平,左右、直方图均衡化并保存
实验指南:
有10张细胞的图片,放在/ home/ edustudio/projectroot/data/文件夹中。为了更好的扩展训练集,请完成下述要求:
(1)请对原10张图像完成上下翻转,并以hflip+文件名称形式保存文件,如第-张图像经过翻转后为hflip_0jpg;
(2)请对原10张图像完成左右翻转,并以vflip+文件名称形式保存文件,如第一张图像经过翻转后为vflip_0jpg;
(3)请对原10张图像完成直方图均衡化,并hist+文件名称形式保存文件,如第一张图像经过均衡化后为hist_0jpg;
保存答案要求:
- /home/ edustudio/projectroot/是本题考试环境
2.请先将/ home/ edustudio/projectroot/考试环境下的所有文件全部复制到/ home/ edustudio/ answers/目录下。 - 请把代码答案保存为Q2py文件,并将Q2.py存放在/home/ edustudio/ answers/目录下。
代码要求:
1.在/home/ edustudio/ answers/下创建augment目录。
2.上述(1)、(2)、 (3) 步骤中产生的文件均保存augment文件夹下。 - Q2是本题代码,请按照里面要求补全代码。4.最终Q2.py运行成功则得分,运行不成功不计分。
import os
import cv2
path_img='/root/Desktop/home/edustudio/projectroot/data/'
out='/root/Desktop/home/edustudio/answers/augment/'
if not os.path.exists(out):
os.makedirs(out)
num=0
for i in os.listdir(path_img):
img=cv2.imread(path_img+i)
img1=cv2.flip(img,0)
img2=cv2.flip(img,1)
cv2.imwrite(out+'hflip_'+str(num)+'.jpg',img1)
cv2.imwrite(out+'vflip_'+str(num)+'.jpg',img2)
img = cv2.imread(path_img + i,0)
equ = cv2.equalizeHist(img)
cv2.imwrite(out + 'hist_' + str(num) + '.jpg',equ)
num+=1