浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别

所属分类: 脚本专栏 / python 阅读数: 1009
收藏 0 赞 0 分享

1、image.load_img()

from keras.preprocessing import image

img_keras = image.load_img('./original/dog/880.jpg')
print(img_keras)

img_keras = image.img_to_array(img_keras)
print(img_keras[:,1,1])

效果如下:

<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=256x384 at 0x2E6999D37B8>
#image.load_img()只是加载了一个文件,没有形成numpy数组,
#下面的numpy数组是通过image.img_to_array()的函数形成的

[108. 108. 110. 115. 119. 120. 122. 125. 127. 127. 129. 131. 132. 134.
 1. 135. 138. 138. 139. 143. 141. 136. 132. 131. 135. 121. 103. 97.
 2. 85. 69. 65. 69. 67. 74. 80. 77. 82. 92. 99. 105. 113.
 3. 126. 128. 129. 132. 134. 135. 135. 135. 135. 134. 133. 131. 130.
 4. 124. 122. 120. 119. 119. 121. 122. 123. 121. 120. 120. 122. 124.
 5. 124. 123. 121. 120. 119. 119. 118. 116. 114. 121. 120. 117. 115.
 6. 112. 111. 111. 114. 105. 104. 107. 104. 103. 106. 105. 101. 71.
 7. 99. 99. 77. 71. 80. 69. 71. 69. 65. 63. 65. 64. 61.
 8. 67. 74. 77. 79. 81. 79. 76. 78. 78. 77. 75. 77. 79.
 9. 72. 68. 68. 67. 66. 64. 63. 61. 61. 57. 57. 56. 56.
 10. 51. 45. 42. 34. 31. 28. 26. 27. 28. 28. 28. 29. 29.
 11. 28. 27. 26. 25. 26. 24. 23. 22. 21. 21. 21. 22. 22.
 12. 21. 21. 20. 20. 20. 19. 19. 19. 18. 18. 18. 18. 18.
 13. 18. 18. 18. 17. 16. 14. 13. 12. 12. 10. 10. 10. 10.
 14.  9.  9.  8. 10. 10. 10. 10. 12. 15. 18. 20. 23. 20.
 15. 175. 229. 231. 230. 221. 219. 220. 227. 223. 213. 220. 227. 221.
 16. 216. 219. 214. 197. 187. 179. 165. 175. 160. 175. 201. 206. 207.
 17. 196. 178. 189. 207. 195. 190. 188. 152. 124. 97. 113. 179. 214.
 18. 122. 172. 178. 204. 196. 200. 184. 167. 147. 112. 106. 131. 193.
 19. 202. 188. 187. 199. 206. 207. 208. 172. 139. 147. 128. 130. 215.
 20. 224. 221. 219. 217. 218. 206. 185. 158. 180. 174. 173. 142. 139.
 21. 200. 202. 205. 174. 122. 119. 123. 120. 155. 206. 160. 191. 191.
 22. 182. 158. 116. 66. 29.  6. 22. 47. 54. 53. 55. 61. 64.
 23. 75. 80. 84. 86. 88. 87. 88. 89. 89. 88. 87. 86. 86.
 24. 71. 174. 136. 13.  7. 38. 68. 77. 79. 80. 81. 81. 80.
 25. 78. 77. 77. 77. 77. 76. 76. 76. 75. 74. 75. 75. 75.
 26. 73. 71. 70. 68. 65. 62. 59. 57. 55. 52. 49. 46. 43.
 27. 34. 31. 28. 25. 23.]

2、cv2.imread()

import cv2

img_cv2 = cv2.imread('./original/dog/880.jpg')
print(img_cv2[:,1,1])

效果如下:

[108 108 110 115 119 120 122 125 127 127 129 131 132 134 134 135 138 138
 139 143 141 136 132 131 135 121 103 97 97 85 69 65 69 67 74 80
 77 82 92 99 105 113 120 126 128 129 132 134 135 135 135 135 134 133
 131 130 126 124 122 120 119 119 121 122 123 121 120 120 122 124 124 124
 123 121 120 119 119 118 116 114 121 120 117 115 113 112 111 111 114 105
 104 107 104 103 106 105 101 71 72 99 99 77 71 80 69 71 69 65
 63 65 64 61 62 67 74 77 79 81 79 76 78 78 77 75 77 79
 76 72 68 68 67 66 64 63 61 61 57 57 56 56 54 51 45 42
 34 31 28 26 27 28 28 28 29 29 28 28 27 26 25 26 24 23
 22 21 21 21 22 22 21 21 21 20 20 20 19 19 19 18 18 18
 18 18 18 18 18 18 17 16 14 13 12 12 10 10 10 10  9  9
  9  8 10 10 10 10 12 15 18 20 23 20 27 175 229 231 230 221
 219 220 227 223 213 220 227 221 220 216 219 214 197 187 179 165 175 160
 175 201 206 207 207 196 178 189 207 195 190 188 152 124 97 113 179 214
 147 122 172 178 204 196 200 184 167 147 112 106 131 193 218 202 188 187
 199 206 207 208 172 139 147 128 130 215 228 224 221 219 217 218 206 185
 158 180 174 173 142 139 151 200 202 205 174 122 119 123 120 155 206 160
 191 191 192 182 158 116 66 29  6 22 47 54 53 55 61 64 69 75
 80 84 86 88 87 88 89 89 88 87 86 86 92 71 174 136 13  7
 38 68 77 79 80 81 81 80 79 78 77 77 77 77 76 76 76 75
 74 75 75 75 74 73 71 70 68 65 62 59 57 55 52 49 46 43
 38 34 31 28 25 23]

补充知识:keras报错:load_weights() got an unexpected keyword arguement 'skip_mmismatch'

网上下载了一个Yolo(keras+tensorflow)网络的训练代码,在运行的时候,报了以下错误:

load_weights() got an unexpected keyword arguement 'skip_mmismatch'。

在网上搜索了半天,也没有发现具体原因,最后,仔细看了看这句话的报错,因为我调用的是一个keras的内置函数,却报了没有这个参数的错,就想到了版本问题。最后将keras进行升级(我的升级到了2.1.5版本),这个问题就解决了。

总结:

在跑keras和tensorflow程序的时候遇到了好多次这种版本导致的问题。因为深度学习现在发展比较迅速,所以很多框架的API更新比较快,以后debug的时候一定要注意排查版本问题。

以上这篇浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

python打印直角三角形与等腰三角形实例代码

这篇文章主要给大家介绍了关于python打印直角三角形与等腰三角形的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

基于python解线性矩阵方程(numpy中的matrix类)

这篇文章主要介绍了基于python解线性矩阵方程(numpy中的matrix类),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vim自动补全插件YouCompleteMe(YCM)安装过程解析

这篇文章主要介绍了vim自动补全插件YouCompleteMe(YCM)安装过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

python中@property和property函数常见使用方法示例

这篇文章主要介绍了python中@property和property函数常见使用方法,结合实例形式分析了Python @property和property函数功能、使用方法及相关操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

python中bytes和str类型的区别

这篇文章主要介绍了python中bytes和str类型的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解python中*号的用法

这篇文章主要介绍了python中*号的用法,文中通过代码给大家介绍了双星号(**)的用法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

python超时重新请求解决方案

这篇文章主要介绍了python超时重新请求解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

python多继承(钻石继承)问题和解决方法简单示例

这篇文章主要介绍了python多继承(钻石继承)问题和解决方法,结合实例形式分析了Python多继承调用父类初始化方法相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Python解密仿射密码

这篇文章主要介绍了基于Python解密仿射密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Python实现船舶的MMSI的获取(推荐)

工作中遇到一个需求,需要通过网站查询船舶名称得到MMSI码,网站来自船讯网。这篇文章主要介绍了基于Python实现船舶的MMSI的获取,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多