版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元1参考答案1.B2.A3..D4.C5.B6.A7.B8.D9.C10.B11.A12.B13.D14.C15.D16.D17.B18.C单元2参考答案习题参考答案:一.选择题1.C2.A3.B4.D5.C6.B7.D8.C9.B10.C11.A12.B13.C14.C15.C16.A17.B18.C19.D20.A
21.D22.B23.D24.A25.编写程序,读取一个彩色图像,分别提取并显示其中的R,G,B灰度图像;importcv2img=cv2.imread('dog.jpg')cv2.imshow("Color",img)cv2.imshow("0",img[:,:,0])cv2.imshow("1",img[:,:,1])cv2.imshow("2",img[:,:,2])cv2.waitKey(0)26. 编写程序,读取一个彩色图像,分别转换为灰度图像、HSV图像和L*a*b*图像,显示转化后的目标图像;importcv2img=cv2.imread('flower.png')cv2.imshow("Flower",img)hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)cv2.imshow("hsv0",hsv[:,:,0])cv2.imshow("hsv1",hsv[:,:,1])cv2.imshow("hsv0",hsv[:,:,2])lab=cv2.cvtColor(img,cv2.COLOR_BGR2LAB)cv2.imshow("lab0",lab[:,:,0])cv2.imshow("lab1",lab[:,:,1])cv2.imshow("lab0",lab[:,:,2])cv2.waitKey(0)27. 编写程序,读取一个图像,查看这个图像中矩阵元素测数据类型,这个图像的宽度和高度;importcv2im=cv2.imread("flower.png")print(im.dtype)print(im.shape)28. 编写程序,使用手机拍摄一个自己个人的图像,从图像中截取人脸窗口图像。importcv2img=cv2.imread('me.jpg')cv2.imshow("0",img)img1=img[a:b,c:d,:]#a,b,c,d根据人脸位置确定cv2.imshow("1",img1)cv2.imwrite("a.jpg",img1)单元3参考答案1.D2.C3.D4.A5.B6.C7.A8.B9.A10.A11.B12.D13.C14.A15.B16.D17.编写程序,读取一个图像,在图像的最中间画一条垂直线。importcv2img=cv2.imread("imgs/bike.jpg")h,w,_=img.shapecv2.line(img,(w//2,0),(w//2,h),(255,255,255),2)cv2.imshow("0",img)cv2.waitKey(0)cv2.destroyAllWindows()18.编写程序,读取一幅图像,在图像最中间画一个半径100的圆。importcv2img=cv2.imread("imgs/bike.jpg")h,w,_=img.shapecv2.circle(img,(w//2,h//2),100,(0,0,255),2)cv2.imshow("0",img)cv2.waitKey(0)cv2.destroyAllWindows()19.编写程序,在黑色背景上画一个白色实心椭圆。importcv2importnumpyasnpimg=np.zeros((300,600,3),dtype="uint8")cv2.ellipse(img,(300,150),(100,50),0,0,360,(255,255,255),-1)cv2.imshow("0",img)cv2.waitKey(0)cv2.destroyAllWindows()20.编写程序,在图像中间位置,用斜体字书写“Python!”importcv2img=cv2.imread("imgs/bike.jpg")h,w,_=img.shapecv2.putText(img,'Python!',(w//2-100,h//2-30),cv2.FONT_ITALIC,1.5,(255,0,0))cv2.imshow("0",img)cv2.waitKey(0)cv2.destroyAllWindows()单元4参考答案1.B2.A3.D4.C5.A6.C7.B8.D9.B10.A11.D12.D13.B14.C15.B16.A17.C18.D19.D20.B21.A22.读取一个图像,宽度方向放大1.8倍、高度方向放大1.5倍,显示缩放后的图像。importcv2img=cv2.imread("imgs/cameraman.jpg")cv2.imshow("0",img)img1=cv2.resize(img,(100,150))cv2.imshow("1",img1)img2=cv2.resize(img,None,fx=1.8,fy=1.5)cv2.imshow('img2',img2)cv2.waitKey(0)cv2.destroyAllWindows()23.读取一个图像,向上平移50,向右平移80,显示平移后的图像。importnumpyasnpimportcv2img=cv2.imread("imgs/lena.png")cv2.imshow("0",img)M=np.float32([[1,0,50],[0,1,80]])#仿射变换矩阵s=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))cv2.imshow("1",s)s=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]),borderMode=cv2.BORDER_REPLICATE)cv2.imshow("2",s)cv2.waitKey(0)cv2.destroyAllWindows()24.读取一个图像,围绕图像左上角沿逆时针方向旋转20°,显示旋转后的图像。importcv2image=cv2.imread("imgs/lena.png")cv2.imshow("0",image)(h,w)=image.shape[:2]center=(0,0)M=cv2.getRotationMatrix2D(center,20,1)r=cv2.warpAffine(image,M,(w,h))cv2.imshow("1",r)cv2.waitKey(0)25.读取一个图像,显示10个在-15°-15°随机旋转的图像。importcv2importmatplotlib.pyplotaspltimage=cv2.imread("imgs/lena.png",cv2.IMREAD_GRAYSCALE)cv2.imshow("0",image)(h,w)=image.shape[:2]center=(w//2,h//2)plt.figure(figsize=(12,4))j=1foriinrange(-15,16,10):M=cv2.getRotationMatrix2D(center,i,1)r=cv2.warpAffine(image,M,(w,h))plt.subplot(2,4,j)j=j+1plt.xticks([]),plt.yticks([])plt.imshow(r)plt.show()26.读取一个图像,执行仿射变换。importnumpyasnpimportcv2img=cv2.imread("imgs/swan.jpg")cv2.imshow("0",img)src=np.float32([[0,0],[0,110],[120,0]])dst=np.float32([[0,0],[10,80],[90,20]])M=cv2.getAffineTransform(src,dst,)img1=cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))cv2.imshow("1",img1)cv2.waitKey()cv2.destroyAllWindows()27读取一个图像,执行透视变换。importnumpyasnpimportcv2image=cv2.imread("imgs/road.jpeg")cv2.imshow("0",image)(h,w)=image.shape[:2]src=np.float32([[0,0],[368,395],[209,218],[336,230]])dst=np.float32([[50,395],[368,395],[50,230],[336,230]])M=cv2.getPerspectiveTransform(src,dst)w=cv2.warpPerspective(image,M,(w,h))cv2.imshow("1",w)cv2.waitKey(0)单元5参考答案1.A2.D3.C4.B5.C6.A7.B8.B9.A10.D11.B12.A13.C14.D15.A16.C17.A18.D19.C20.编写程序,读取一个彩色图像,分别用3X3,5X5,7X7大小的核执行均值平滑。importcv2img=cv2.imread("a.jpg")img1=cv2.blur(img,(3,3))img2=cv2.blur(img,(5,5))img3=cv2.blur(img,(7,7))cv2.imshow("0",img)cv2.imshow("1",img1)cv2.imshow("2",img2)cv2.imshow("3",img3)cv2.waitKey()cv2.destroyAllWindows()21.编写程序,读取一个彩色图像,分别用3X3,9X9,15X15大小的核执行高斯平滑。importcv2img=cv2.imread("a.jpg")img1=cv2.GaussianBlur(img,(3,3),0)img2=cv2.GaussianBlur(img,(9,9),0)img3=cv2.GaussianBlur(img,(15,15),0)cv2.imshow("0",img)cv2.imshow("1",img1)cv2.imshow("2",img2)cv2.imshow("3",img3)cv2.waitKey()cv2.destroyAllWindows()22.编写程序,读取一个彩色图像,分别用3X3,5X5,7X7大小的核执行中值平滑。importcv2img=cv2.imread("a.jpg")img1=cv2.medianBlur(img,3)img2=cv2.medianBlur(img,5)img3=cv2.medianBlur(img,7)cv2.imshow("0",img)cv2.imshow("1",img1)cv2.imshow("2",img2)cv2.imshow("3",img3)cv2.waitKey()cv2.destroyAllWindows()23.编写程序,定义一个5X5均值核,使用二维卷积,对输入图像执行均值平滑。importcv2importnumpyasnpimg=cv2.imread("a.jpg")k=np.ones((5,5),np.float32)/25img2=cv2.filter2D(img,-1,k)cv2.imshow("2",img2)cv2.waitKey()cv2.destroyAllWindows()24.编写程序,定义一个差分核,对输入图像执行差分滤波,提取图像中的垂直边缘。importcv2importnumpyasnpimg=cv2.imread("imgs/lena.png",cv2.IMREAD_GRAYSCALE)k1=np.array([(1,0,-1),(1,0,-1),(1,0,-1)],np.float32)img1=cv2.filter2D(img,-1,k1)cv2.imshow("0",img)cv2.imshow("1",img1)cv2.waitKey()cv2.destroyAllWindows()单元6参考答案1.C2.A3.A4.D5.C6.D7.B8.A9.C10.D11.B12.D13.C14.A15.C16.C17.B18.A19. 编写程序,读取一个灰度图像,使用Sobel算子检测边缘,显示两个方向以及合并以后的检测结果.importcv2importnumpyasnpimg=cv2.imread("a.png",cv2.IMREAD_GRAYSCALE)cv2.imshow("Image",img)sx=cv2.Sobel(img,cv2.CV_64F,1,0)sy=cv2.Sobel(img,cv2.CV_64F,0,1)sx=np.uint8(np.absolute(sx))sy=np.uint8(np.absolute(sy))s=cv2.bitwise_or(sx,sy)cv2.imshow("x",sx)cv2.imshow("y",sy)cv2.imshow("s",s)cv2.waitKey(0)20. 编写程序,在灰度值相等的画布图像上绘制一条水平线和垂直线,分别用两种Sobel算子检测边缘,显示两个方向以及合并以后的检测结果.importcv2importnumpyasnpimg=np.zeros((512,512,3),np.uint8)cv2.line(img,(0,200),(511,200),(255,255,255),20)cv2.line(img,(200,0),(200,511),(255,255,255),20)cv2.imshow("Image",img)sx=cv2.Sobel(img,cv2.CV_64F,1,0)sy=cv2.Sobel(img,cv2.CV_64F,0,1)sx=np.uint8(np.absolute(sx))sy=np.uint8(np.absolute(sy))s=cv2.bitwise_or(sx,sy)#通过位或运算合并两个方向的检测结果cv2.imshow("x",sx)cv2.imshow("y",sy)cv2.imshow("s",s)cv2.waitKey(0)
21. 编写程序,在灰度值相等的画布图像上绘制一个圆,分别用两种Sobel算子检测边缘,显示两个方向以及合并以后的检测结果.importcv2importnumpyasnpimg=np.zeros((512,512,3),np.uint8)cv2.circle(img,(256,256),100,(255,255,255),10)cv2.imshow("Image",img)sx=cv2.Sobel(img,cv2.CV_64F,1,0)sy=cv2.Sobel(img,cv2.CV_64F,0,1)sx=np.uint8(np.absolute(sx))sy=np.uint8(np.absolute(sy))s=cv2.bitwise_or(sx,sy)
cv2.imshow("x",sx)cv2.imshow("y",sy)cv2.imshow("s",s)cv2.waitKey(0)22. 编写程序,读取一个灰度图像,使用Scharr算子检测边缘,显示两个方向以及合并以后的检测结果.importcv2importnumpyasnpimg=cv2.imread("imgs/lena.png")sx=cv2.Scharr(img,cv2.CV_64F,1,0)sy=cv2.Scharr(img,cv2.CV_64F,0,1)sx=np.uint8(np.absolute(sx))sy=np.uint8(np.absolute(sy))s=cv2.bitwise_or(sx,sy)cv2.imshow("x",sx)cv2.imshow("y",sy)cv2.imshow("s",s)cv2.waitKey(0)23. 编写程序,在灰度值相等的画布图像上绘制一个圆,分别用两种Scharr算子检测边缘,显示两个方向以及合并以后的检测结果.importcv2importnumpyasnpimg=np.zeros((512,512,3),np.uint8)cv2.circle(img,(256,256),100,(255,255,255),10)cv2.imshow("Image",img)sx=cv2.Scharr(img,cv2.CV_64F,1,0)sy=cv2.Scharr(img,cv2.CV_64F,0,1)sx=np.uint8(np.absolute(sx))sy=np.uint8(np.absolute(sy))s=cv2.bitwise_or(sx,sy)
cv2.imshow("x",sx)cv2.imshow("y",sy)cv2.imshow("s",s)cv2.waitKey(0)24. 编写程序,在灰度值相等的画布图像上绘制一条水平线和垂直线,用Laplacian算子检测边缘.importcv2importnumpyasnpimg=np.zeros((512,512,3),np.uint8)cv2.line(img,(0,200),(511,200),(255,255,255),20)cv2.line(img,(200,0),(200,511),(255,255,255),20)cv2.imshow("Image",img)s=cv2.Laplacian(img,cv2.CV_64F)cv2.imshow("s",s)cv2.waitKey(0)25. 编写程序,对有噪声的图像执行高斯平滑,然后用Canny算子检测边缘.#Example6_9importcv2image=cv2.imread("imgs/cat.jpg")gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)cv2.imshow("Original",image)gray=cv2.GaussianBlur(gray,(5,5),0)cv2.imshow("Blurred",gray)can=cv2.Canny(gray,100,200)cv2.imshow("Canny",can)cv2.waitKey(0)cv2.imwrite("imgs/output/cat2.jpg",can)cv2.destroyAllWindows()单元7参考答案1.B2.D3.C4.B5.A6.B7.D8.A9.C10.D11.B12.C13.A14.B15.A16.D17.C18.B19.D20.A21. 读取一个二值图像,分别用3X3,5X5,7X7的椭圆结构元执行腐蚀处理。importcv2s=[(3,3),(5,5),(7,7)]img=cv2.imread("imgs/m.jpg",cv2.IMREAD_GRAYSCALE)cv2.imshow("Input",img)foriinrange(len(s)):
e=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,s[i])
img2=cv2.morphologyEx(img,cv2.MORPH_ERODE,e)
cv2.imshow(str(i+1),img2)cv2.waitKey(0)cv2.destroyAllWindows()22. 读取一个灰度图像,分别用3X3,5X5,7X7的椭圆结构元执行膨胀处理。importcv2s=[(3,3),(5,5),(7,7)]img=cv2.imread("imgs/m.jpg",cv2.IMREAD_GRAYSCALE)cv2.imshow("Input",img)foriinrange(len(s)):e=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,s[i])img2=cv2.morphologyEx(img,cv2.MORPH_DILATE,e)cv2.imshow(str(i+1),img2)cv2.waitKey(0)cv2.destroyAllWindows()23. 读取一个二值图像,分别用3X3,9X9,13X13的十字型结构元执行开运算处理。importcv2s=[(3,3),(9,9),(13,13)]img=cv2.imread("imgs/m.jpg",cv2.IMREAD_GRAYSCALE)cv2.imshow("Input",img)foriinrange(len(s)):
e=cv2.getStructuringElement(cv2.MORPH_CROSS,s[i])
img2=cv2.morphologyEx(img,cv2.MORPH_OPEN,e)
cv2.imshow(str(i+1),img2)cv2.waitKey(0)cv2.destroyAllWindows()24. 读取一个灰度图像,分别用3X3,9X9,13X13的十字型结构元执行闭运算处理。importcv2s=[(3,3),(9,9),(13,13)]img=cv2.imread("imgs/m.jpg",cv2.IMREAD_GRAYSCALE)cv2.imshow("Input",img)foriinrange(len(s)):e=cv2.getStructuringElement(cv2.MORPH_CROSS,s[i])img2=cv2.morphologyEx(img,cv2.MORPH_CLOSE,e)cv2.imshow(str(i+1),img2)cv2.waitKey(0)cv2.destroyAllWindows()25. 读取一个有白色物体的二值图像,分别用3X3,5X5,7X11的矩形结构形态学梯度处理。importcv2s=[(3,3),(5,5),(7,11)]img=cv2.imread("imgs/m.jpg",cv2.IMREAD_GRAYSCALE)cv2.imshow("Input",img)foriinrange(len(s)):
e=cv2.getStructuringElement(cv2.MORPH_RECT,s[i])
img2=cv2.morphologyEx(img,cv2.MORPH_GRADIENT,e)
cv2.imshow(str(i+1),img2)cv2.waitKey(0)cv2.destroyAllWindows()26. 读取一个灰度图像,分别用3X3,5X5,7X9的矩形结构顶帽运算处理。importcv2s=[(3,3),(5,5),(7,9)]img=cv2.imread("imgs/m.jpg",cv2.IMREAD_GRAYSCALE)cv2.imshow("Input",img)foriinrange(len(s)):e=cv2.get
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 做账实操-资产管理公司全套账务处理
- 26年肺癌靶向误区规避指南
- 语文01卷(江西专用)-(考试版)A4七年级下册语文期末考试
- 如何选择就业方向
- 记账实操-社保个人部分扣除账务处理实例
- 人工智能在餐饮业的应用
- 煤炭批发合同协议2026年市场分析
- 法学专业试题及答案
- 成考专科试题及答案
- 历史教师资格证中国古代史试卷及分析
- 餐厅后厨述职报告
- 林业中心面试题及答案
- 花都安全生产培训试题及答案解析
- 胃肠镜院感知识培训课件
- DB14T 3563-2025 县域医共体慢病管理中心建设与运行规范
- 食堂燃气安全日常检查表
- 五年(2021-2025)高考语文真题分类汇编:专题15 语言文字运用(选择+简答题组)(全国)(解析版)
- 禽类屠宰企业安全培训课件
- 外科及外科各方向住院医师规范化培训结业临床实践能力考核方案(2023版)
- 【生物】云南省昭通市第一中学教研联盟2024-2025学年高一下学期期末质量检测试题(A卷)(解析版)
- 2025年广西二级造价师真题及答案
评论
0/150
提交评论