鱼C论坛

 找回密码
 立即注册
查看: 2268|回复: 7

[已解决]python怎样通过opencv读取多幅图片

[复制链接]
发表于 2018-9-13 13:10:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近看了下opencv读取图片,想知道怎样读取一个文件夹下的多幅图片
最佳答案
2018-9-13 13:34:39
可以先用os.walk先遍历文件夹下的所有图片,在一张张读取,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-13 13:34:39 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
可以先用os.walk先遍历文件夹下的所有图片,在一张张读取,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-13 13:51:51 | 显示全部楼层
  1. #导入cv模块
  2. import cv2 as cv
  3. import os
  4. os.chdir(r'文件夹目录')
  5. for file in os.listdir(os.getcwd()):
  6.    
  7. #读取图像,支持 bmp、jpg、png、tiff 等常用格式
  8.     img = cv.imread(file)
  9. #创建窗口并显示图像
  10.     cv.namedWindow("Image")
  11.     cv.imshow("Image",img)
  12.     cv.waitKey(0)
  13. #释放窗口
  14.     cv.destroyAllWindows()
复制代码

然后键盘左右键就可以查看图片了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-13 14:10:40 | 显示全部楼层
RIXO 发表于 2018-9-13 13:51
然后键盘左右键就可以查看图片了

亲,显示之后图片感觉太大了,有什么办法解决吗,怎样显示和电脑显示器一样大小
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-13 14:33:38 | 显示全部楼层
WTS123456 发表于 2018-9-13 14:10
亲,显示之后图片感觉太大了,有什么办法解决吗,怎样显示和电脑显示器一样大小

如 我要将一个图片变为32*32大小的


  image=cv2.imread('test.jpg')
  res=cv2.resize(image,(32,32),interpolation=cv2.INTER_CUBIC)
  cv2.imshow('iker',res)
  cv2.imshow('image',image)
  cv2.waitKey(0)
  cv2.destoryAllWindows()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-13 14:34:48 | 显示全部楼层
不过这样做问题还是很多。。。。你还是需要详细地去看官方文档
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-13 14:54:06 | 显示全部楼层
RIXO 发表于 2018-9-13 14:34
不过这样做问题还是很多。。。。你还是需要详细地去看官方文档

改变尺寸显示是可以看的完整,可是图像的像素发生了变化,有什么办法不改变图像的像素吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-13 15:18:35 | 显示全部楼层
WTS123456 发表于 2018-9-13 14:54
改变尺寸显示是可以看的完整,可是图像的像素发生了变化,有什么办法不改变图像的像素吗

目标如下的像素点为对应的最近的原图像的像素点。假设原图像大小为(s_height, s_width),目标图像大小为(d_height, d_width),那么高度和宽度的缩放比例为h_ratio = s_height/d_heightw_ratio=s_width/d_width。
对面目标图像像素:(x, y)其值等于原图像(x * w_ration, y * h_ration)处的值。
就是你不能随便设置尺寸的,你说的应该是按比例缩放,如果是保存所有图片像素点信息就得去看官方文档!!!opencv的图像计算方法
图像的显示就是用像素点显示的,就像一个小水杯,装不下一个大海,你只能按比例缩放使得它的图像看起来和原来差不多,实际上还是丢失了数值的,涉及到图形显示的程序,都会涉及矩阵运算的概念,这个讲起来太复杂了,所以你得完整地过一遍官方文档才能明白它用了什么算法,怎么实现的图形表达,不过比起专业的图形显示软件,肯定是不足的,我没有看完过源码,得你自己努力了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-1 13:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表