""" Author:XiaoMa date:2021/11/2 """ import cv2 import numpy as np import matplotlib.pyplot as plt img0 = cv2.imread("E:\putout\scene00001.png") img1 = cv2.resize(img0, dsize=None, fx=1, fy=1) img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) h, w = img1.shape[:2] print(h, w) cv2.namedWindow("W0") cv2.imshow("W0", img2) cv2.waitKey(delay=0) # 图像进行二值化 ##第一种阈值类型 ret0, img3 = cv2.threshold(img2, 127, 255, cv2.THRESH_BINARY) print(ret0) ##第二种阈值类型 ret1, img4 = cv2.threshold(img2, 127, 255, cv2.THRESH_BINARY_INV) print(ret1) ##第三种阈值类型 ret2, img5 = cv2.threshold(img2, 127, 255, cv2.THRESH_TRUNC) print(ret2) ##第四种阈值类型 ret3, img6 = cv2.threshold(img2, 127, 255, cv2.THRESH_TOZERO) print(ret3) ##第五种阈值类型 ret4, img7 = cv2.threshold(img2, 127, 255, cv2.THRESH_TOZERO) print(ret4) # 将所有阈值类型得到的图像绘制到同一张图中 plt.rcParams['font.family'] = 'SimHei' # 将全局中文字体改为黑体 figure = [img3] title = ret0["原图", "第一种阈值类型", "第二种阈值类型", "第三种阈值类型", "第四种阈值类型", "第五种阈值类型"] for i in range(6): figure[i] = cv2.cvtColor(figure[i], cv2.COLOR_BGR2RGB) # 转化图像通道顺序,这一个步骤要记得 plt.subplot(3, 2, i + 1) plt.imshow(figure[i]) plt.title(title[i]) # 添加标题 plt.savefig("E:\putout") 这串代码哪里有问题
时间: 2023-06-03 20:03:50 浏览: 152
这段代码使用Python中的OpenCV库及其相关函数导入一张本地图片,进行了缩放、颜色空间转换等操作。其中,cv2.imread()函数读取位于本地路径"E:\putout\scene00001.png"的图片,cv2.resize()对图片进行了大小重置,而cv2.cvtColor()则将图片从BGR颜色空间转换为灰度颜色空间。最后,使用cv2.namedWindow()和cv2.imshow()将转换后的图片显示出来。
相关问题
file_put_contents(/www/wwwroot/xiaoma/runtime/temp/6d5c78a0905e0939c9ccf18fc6b7bed0.php): failed to open stream: Permission denied
这个错误与之前提到的错误相似,也是由于文件或目录的权限不足引起的。
要解决这个问题,你可以尝试以下几种方法:
1. 检查目标文件夹的权限:确保目标文件夹对于 PHP 进程具有写入权限。你可以使用 `ls -l` 命令来查看目标文件夹的权限设置,并使用 `chmod` 命令来更改权限。
例如:`chmod -R 777 /www/wwwroot/xiaoma/runtime/temp`
注意:在生产环境中,为了安全起见,不建议将权限设置为 777。你可以根据实际需求设置适当的权限。
2. 检查目标文件是否已被占用:如果目标文件已被其他进程占用,PHP 将无法写入该文件。你可以尝试删除或移动该文件,然后再次运行脚本。
3. 检查目标文件是否存在:如果目标文件不存在,PHP 将尝试创建该文件。请确保目标文件的路径和名称是正确的,并且不存在同名的目录。
4. 检查磁盘空间:如果磁盘空间已满,PHP 将无法写入新文件。请确保磁盘有足够的可用空间。
如果以上方法都无法解决问题,你可能需要联系服务器管理员或 PHP 开发人员以获取更多帮助。
file_put_contents(/www/wwwroot/xiaoma/runtime/cache/4e/819c837d54a6ed09abc77a8560a66f.php): failed to open stream: Permission denied
这个错误通常是由于文件或目录权限不足引起的。在这种情况下,你需要确保目标文件夹具有正确的权限,以便 PHP 脚本可以写入文件。
你可以尝试以下几种方法来解决这个问题:
1. 检查目标文件夹的权限:确保目标文件夹对于 PHP 进程具有写入权限。你可以使用 `ls -l` 命令来查看目标文件夹的权限设置,并使用 `chmod` 命令来更改权限。
例如:`chmod -R 777 /www/wwwroot/xiaoma/runtime/cache`
注意:在生产环境中,为了安全起见,不建议将权限设置为 777。你可以根据实际需求设置适当的权限。
2. 检查目标文件是否已被占用:如果目标文件已被其他进程占用,PHP 将无法写入该文件。你可以尝试删除或移动该文件,然后再次运行脚本。
3. 检查目标文件是否存在:如果目标文件不存在,PHP 将尝试创建该文件。请确保目标文件的路径和名称是正确的,并且不存在同名的目录。
4. 检查磁盘空间:如果磁盘空间已满,PHP 将无法写入新文件。请确保磁盘有足够的可用空间。
如果以上方法都无法解决问题,你可能需要联系服务器管理员或 PHP 开发人员以获取更多帮助。
阅读全文