当前位置: 首页 > news >正文

服务类网站模板深圳网络推广系统

服务类网站模板,深圳网络推广系统,推广优化工具,wordpress 关闭邮件目录 1. 图像读取1.1 cv2.imread() 不能读取中文路径和中文名称1.2 cv2.imdecode() 可以读取中文路径和中文名称 2. 图像的显示2.1 openCV显示图像 cv2.imshow()2.2 matplotlib显示图像 plt.imshow() 3. 图像的保存 cv2.imwrite()4. 图像的复制4.1 img.copy()4.2 np.copy()4.3 … 目录 1. 图像读取1.1 cv2.imread() 不能读取中文路径和中文名称1.2 cv2.imdecode() 可以读取中文路径和中文名称 2. 图像的显示2.1 openCV显示图像 cv2.imshow()2.2 matplotlib显示图像 plt.imshow() 3. 图像的保存 cv2.imwrite()4. 图像的复制4.1 img.copy()4.2 np.copy()4.3 代码示例 5. 图像的属性 1. 图像读取 1.1 cv2.imread() 不能读取中文路径和中文名称 语法结构 retval cv.imread(filename[, flags]) #用于从指定的文件读取图像filename读取图像的文件路径和文件名flags读取图片的方式可选项 cv2.IMREAD_COLOR(1)始终将图像转换为 3 通道BGR彩色图像默认方式cv2.IMREAD_GRAYSCALE(0)始终将图像转换为单通道灰度图像cv2.IMREAD_UNCHANGED(-1)按原样返回加载的图像使用Alpha通道cv2.IMREAD_ANYDEPTH(2)在输入具有相应深度时返回16位/ 32位图像否则将其转换为8位cv2.IMREAD_ANYCOLOR(4)以任何可能的颜色格式读取图像 retval读取的 OpenCV 图像nparray 多维数组 注意事项 OpenCV 读取图像文件返回值是一个nparray 多维数组。OpenCV 对图像的任何操作本质上就是对 Numpy 多维数组的运算。OpenCV 中彩色图像使用 BGR 格式而 PIL、PyQt、matplotlib 等库使用的是 RGB 格式。cv2.imread() 如果无法从指定文件读取图像并不会报错而是数返回一个空矩阵。cv2.imread() 指定图片的存储路径和文件名在 python 中不支持中文和空格但并不会报错。必须使用中文时可以使用 cv2.imdecode() 处理。cv2.imread() 读取图像时默认忽略透明通道但可以使用 CV_LOAD_IMAGE_UNCHANGED 参数读取透明通道。对于彩色图像可以使用 flags0 按照读取为灰度图像。 1.2 cv2.imdecode() 可以读取中文路径和中文名称 语法结构 retval cv2.imdecode(buf, flags) #用于从内存中读取图像buf字节数组其中包含要解码的图像数据。flags读取图片的方式可选项 cv2.IMREAD_COLOR(1)始终将图像转换为 3 通道BGR彩色图像默认方式cv2.IMREAD_GRAYSCALE(0)始终将图像转换为单通道灰度图像cv2.IMREAD_UNCHANGED(-1)按原样返回加载的图像使用Alpha通道cv2.IMREAD_ANYDEPTH(2)在输入具有相应深度时返回16位/ 32位图像否则将其转换为8位cv2.IMREAD_ANYCOLOR(4)以任何可能的颜色格式读取图像 retval读取的 OpenCV 图像nparray 多维数组 注意事项 确保传递给 cv2.imdecode() 的缓冲区包含有效的图像数据并且使用正确的标志来解码图像。如果缓冲区为空或损坏或者使用了错误的标志函数将无法正确解码图像。cv2.imdecode() 返回的是一个 NumPy 数组该数组存储了解码后的图像数据。这个数组是存储在内存中的因此在处理大量图像或非常大的图像时需要注意内存使用情况避免内存溢出或内存不足的问题。 代码示例 import numpy as np import cv2imgFile img/测试图.png # 带有中文的文件路径和文件名 # 使用 imdecode 可以读取带有中文的文件路径和文件名 img cv2.imdecode(np.fromfile(imgFile, dtypenp.uint8), -1) cv2.imshow(demo, img) cv2.waitKey() cv2.destroyAllWindows()2. 图像的显示 2.1 openCV显示图像 cv2.imshow() 语法结构 cv2.imshow(winname,mat) #用于在窗口中显示图像winname用于标识要显示的窗口。如果指定的窗口名称已经存在cv2.imshow() 将在这个现有窗口中显示图像。如果不存在它将创建一个新窗口。mat所显示的 OpenCV 图像nparray 多维数组。 注意事项 cv2.imshow() 会自动调整窗口大小以适应图像的尺寸。如果需要手动设置窗口大小可以使用 cv2.namedWindow() 函数并指定窗口的大小。cv2.imshow() 之后要用 waitKey() 函数设定图像窗口的显示时长否则不会显示图像窗口waitKey(0) 表示窗口显示时长为无限。可以创建多个不同的显示窗口每个窗口必须命名不同的 filename。可以用 destroyWindow() 函数关闭指定的显示窗口也可以用 destroyAllWindows() 函数关闭所有的显示窗口。 2.2 matplotlib显示图像 plt.imshow() 语法结构 plt.imshow(img[, cmap])img图像数据一个二维或三维数组通常表示图像的像素值。对于灰度图像它是一个二维数组其中每个值表示一个像素的亮度。对于彩色图像它是一个三维数组通常的形状是 (height, width, 3) 或 (height, width, 4)其中 3 或 4 分别表示 RGB红、绿、蓝或 RGBA红、绿、蓝、透明度颜色通道.cmap颜色图谱colormap默认为 RGB(A) 颜色空间 gray灰度显示hsvhsv 颜色空间 注意事项 plt.imshow() 可以直接显示 OpenCV 灰度图像不需要格式转换但需要使用 cmap‘gray’ 进行参数设置。plt.imshow() 可以使用 matplotlib 库中的各种方法绘图如标题、坐标轴、插值等plt.imshow() 只是将图像显示在当前的 Matplotlib 图形上。要实际看到图像你需要调用 plt.show()。如果你想要保存图像到文件可以使用 plt.savefig() 函数。在 Matplotlib 中图像的默认原点即坐标 (0,0)通常位于左上角这与许多图像处理库如 OpenCV中的默认设置左下角为原点不同。这可能在处理或显示图像时造成混淆。在使用 plt.imshow() 或其他 Matplotlib 函数显示图形后如果你不再需要它最好使用 plt.close() 来关闭图形以释放资源。 代码示例 from matplotlib import pyplot as plt import cv2imgFile img/1.png # 带有中文的文件路径和文件名 img1 cv2.imread(imgFile, flags1) # flags1 读取彩色图像(BGR)imgRGB cv2.cvtColor(img1, cv2.COLOR_BGR2RGB) # 图片格式转换BGR(OpenCV) - RGB(PyQt5) img2 cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) # 图片格式转换BGR(OpenCV) - Grayplt.rcParams[font.sans-serif] [FangSong] # 支持中文标签 plt.subplot(221), plt.title(1. RGB 格式(mpl)), plt.axis(off) plt.imshow(imgRGB) # matplotlib 显示彩色图像(RGB格式) plt.subplot(222), plt.title(2. BGR 格式(OpenCV)), plt.axis(off) plt.imshow(img1) # matplotlib 显示彩色图像(BGR格式) plt.subplot(223), plt.title(3. 设置 Gray 参数), plt.axis(off) plt.imshow(img2, cmapgray) # matplotlib 显示灰度图像设置 Gray 参数 plt.subplot(224), plt.title(4. 未设置 Gray 参数), plt.axis(off) plt.imshow(img2) # matplotlib 显示灰度图像未设置 Gray 参数 plt.show()3. 图像的保存 cv2.imwrite() 语法结构 retval cv2.imwrite(filename, img [, params])filename要保存的文件的路径和名称包括文件扩展名img要保存的 OpenCV 图像nparray 多维数组params不同编码格式的参数 cv2.CV_IMWRITE_JPEG_QUALITY设置 .jpeg/.jpg 格式的图片质量取值为 0-100默认值 95数值越大则图片质量越高cv2.CV_IMWRITE_WEBP_QUALITY设置 .webp 格式的图片质量取值为 0-100cv2.CV_IMWRITE_PNG_COMPRESSION设置 .png 格式图片的压缩比取值为 0-9默认值 3数值越大则压缩比越大。 retval返回值保存成功返回 True否则返回 False。 注意事项 文件名和扩展名决定了图像的格式。例如如果文件名为 ‘image.jpg’则图像将以 JPEG 格式保存。在 Python 3 中cv2.imwrite() 不支持中文和空格作为文件名。如果需要使用中文可以使用 cv2.imencode() 函数进行处理。cv2.imwrite() 函数的返回值是一个布尔值表示图像是否成功保存。对 4 通道 BGRA 图像可以使用 Alpha 通道保存为 PNG 图像。 代码示例 import cv2imgFile ../img/1.png # 读取文件的路径 img cv2.imread(imgFile, flags1) # flags1 读取彩色图像(BGR) # 保存 JPEG 图像并指定质量为 90 cv2.imwrite(output.jpg, img, [int(cv2.IMWRITE_JPEG_QUALITY), 90]) # 保存 PNG 图像并指定压缩级别为 9 cv2.imwrite(output.png, img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])4. 图像的复制 4.1 img.copy() img.copy() 是NumPy数组的一个方法。当你在一个NumPy数组通常是OpenCV图像上调用这个方法时它会创建一个新的数组这个新数组是原始数组的一个深拷贝deep copy。这意味着新数组和原始数组在内存中是独立的对其中一个数组的任何修改都不会影响另一个数组。 4.2 np.copy() img.copy()是NumPy数组的一个方法。当你在一个NumPy数组通常是OpenCV图像上调用这个方法时它会创建一个np.copy(img) 是NumPy库的一个函数它也可以用来创建数组的一个深拷贝。与 img.copy() 类似np.copy(img) 会创建一个新的数组这个新数组与原始数组 img 在内存中是独立的。 4.3 代码示例 import cv2 import numpy as np # 读取图像 img cv2.imread(input.jpg) # 使用img.copy()方法复制图像 img_copy1 img.copy() # 使用np.copy()函数复制图像 img_copy2 np.copy(img) # 现在img_copy1和img_copy2都是img的副本5. 图像的属性 在OpenCV中经常需要获取图像的大小类型像素等图像属性为此提供了shape、size、dtype这3个常用函数 shape shape是一个包含图像高度、宽度和通道数的元组。可以通过shape属性获取图像的尺寸。 如果图像是灰度图返回值就仅有 行数和列数所以通过检查这个返回值就可以知道加载的是灰度图还是彩色图。size 返回图像的像素数目。dtype 返回的是图像的数据类型。 代码示例 import cv2image_Color cv2.imread(log.jpg) # 读取log.jpg print(获取彩色图像的属性) print(shape , image_Color.shape) # 打印彩色图像的像素行数像素列数通道数 print(size , image_Color.size) # 打印彩色图像包含的像素个数 print(dtype , image_Color.dtype) # 打印彩色图像的数据类型 image_Gray cv2.imread(log.jpg, 0) # 读取与log.jpg彩色图像对应的灰度图像 print(获取灰度图像的属性) print(shape , image_Gray.shape) # 打印灰度图像的像素行数像素列数 print(size , image_Gray.size) # 打印灰度图像包含的像素个数 print(dtype , image_Gray.dtype) # 打印灰度图像的数据类型
http://www.pierceye.com/news/266114/

相关文章:

  • 云南省城乡住房与建设厅网站杭州网站制作平台公司
  • 程序员做网站美工能过关吗深圳品牌折扣店
  • 地产网站设计怎么做网贷网站
  • 公司网站是如何搭建的跨境电商被骗血本无归
  • 品牌网站建设目标vps怎么做多个网站
  • 普陀区建设工程质检网站网站建设 工作方案
  • 三河做网站开发公司虚列成本
  • 网站公司建设网站首页注册资本可以随便填吗
  • 网站做链接的意义是什么意思网站设计与制作
  • 快速开发网站的应用程序网站高中建设工具
  • 备案期间网站可以做竞价吗网站开发四川
  • 盐城网站app建设竣工验收备案查询
  • 河南省建设厅八大员网站相城网页设计
  • 建设电子商务网站要多少钱怎么自己开公司
  • 网站设计分析怎么写5年的室内设计师收入
  • 珠海网站建设服务谷歌关键词排名查询工具
  • 三网站合一系统优化最好的安卓手机
  • 那几个网站可以做h5产品经理培训哪个机构好
  • 吉林市做网站阿里巴巴国际站怎么运营
  • 中国网站排名100网站建设属于销售费用
  • 最新seo网站优化教程温州微网站
  • 网站双线选择昆明网站制作代理
  • 网站推广优化招聘织梦网站图片设置多大
  • 四川德充建设集团有限公司网站台州seo免费诊断
  • 农庄网站模板网站 文件夹 上传
  • 做长图文网站企业网站开发服务合同
  • 长椿街网站建设九江网站推广徽hyhyk1
  • 贴吧做网站wordpress不兼容ie
  • 上海万网网站建设网络工程专业是什么
  • 到国外建网站自己做的视频发什么网站吗