cv2与Image互转

注意只有opencv的图片是BGR顺序的,其他都是RGB顺序

Image转cv2

cv2_img = cv2.cvtColor(numpy.asarray(Img_img),cv2.COLOR_RGB2BGR)

cv2转Image

pil_img = Image.fromarray(cv2.cvtColor(cv_img,cv2.COLOR_BGR2RGB))

UINT8 和float格式互相转换

from PIL import Image
from pylab import *im = array(Image.open("04.jpg"))
print(im.dtype) #unit8
im3 = 255.0 * (im/255.0)**2 # 将图像像素值变换到100...200 区间
print(im3.dtype) #float64
pil_im = Image.fromarray(uint8(im3))
# 通过PIL中的fromarray方法将图片转换为uint8格式(此时的pil_im为image对象)
imshow(pil_im)
show()

使图像标准化的一种更好的方法是获取每个值并除以数据类型所经历的最大值。这可以确保图像中动态范围较小的图像保持较小,并且不会无意中标准化,从而使图像变灰。

因此,将图像类型而不是实际图像本身的每个值除以可能的最大值。然后,您将按255缩放该比例以生成归一化结果。使用numpy.iinfo并为其提供图像的类型(dtype),您将获得该类型的信息结构。然后,您将访问此结构中的max字段以确定最大值。

因此,与上述情况,做如下修改你的代码:

import numpy as np
import cv2
[...]
info = np.iinfo(data.dtype) # Get the information of the incoming image type
data = data.astype(np.float64)/info.max # normalize the data to 0 - 1
data = 255 * data # Now scale by 255
img = data.astype(np.uint8)
cv2.imshow("Window", img)

请注意,我还转换的图像为np.float64的情况下,输入数据类型是不是这样,并保持浮点精确的时候做分工。

dlib.get_frontal_facedetector UINT8 和float格式互相转换相关推荐

  1. 【字节流处理】linux下uint8转float的注意事项

    在处理音频媒体流数据时,如果需要将整体的数据流转为float型的,可能会有一些问题主要注意. 注: 本文所讨论的范围都在Linux环境下 Big Endian or Little Endian 如果一 ...

  2. js字符串的各种格式的转换 ToString,Format

    1.转换钱的格式,仅限int型,float型,double型  double d = 400;  d.ToString("C"); //¥400.00  2.10进制数,仅限int ...

  3. 【Python小工具函数】各种日期格式的转换、在某个日期上减去n天、判断List中是否含有数字

    各种日期格式的转换 def YYYY_mm_dd_HH_MM_SS_to_datetime(datetime_str):""":param datetime_str: 2 ...

  4. 突击计划——两种温度格式的转换

    题目:两种温度格式的转换 #include <stdio.h> //两种温度格式的转换 /* 根据华氏和摄氏温度定义,利用转换公式如下: C=(F-32)/1.8 F=C*1.8+32 * ...

  5. 如何在 Unix 和 DOS 格式之间转换文本文件

    本文介绍如何在 Unix 和 DOS 格式之间转换文本文件.DOS 文本文件带有回车符( \r )和换行符( \n )作为它们的换行符,而 Unix 文本文件只有( \n )换行符作为换行符. 有多种 ...

  6. 如何将MP3格式音乐转换成M4R格式

    MP3是非常标准的音频数字编码格式.区别于其他格式的优势在于,它可以在不降低音质的前提下,大幅的降低文件的大小.因此MP3格式应用范围极广,我们日常生活中用到的歌曲格式也多为MP3.市面上几乎所有的电 ...

  7. pdf格式怎么转换成word格式

    pdf格式怎么转换成word格式 从事文职工作的我深有感触,录入资料是一件考验人耐性的事情,每当有一大推资料需要录入到Word文档时,我的心都快憔悴了.不过现在好了,网络上新推出了一款迅捷PDF转换成 ...

  8. SQL Server日期格式的转换

    SQL Server日期格式的转换 [原创 2007-03-23 09:34:36]     字号: 大 中 小 SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd ...

  9. kux格式怎么转换成mp4?简单快速的视频转换技巧分享

    现在生活压力越来越大,过完一天忙碌的工作回到家里开始煲剧是很多人的最爱.说到看视频,资源基本都被「三巨头」--腾讯视频.爱奇艺.优酷所覆盖,而有些朋友喜欢将视频下载下来看.可是却发现,下载的视频格式是 ...

最新文章

  1. [NTU-Machine-learning-note]1 Introduction(4)
  2. HDFS的Secondarynamenode工作机制
  3. ubuntu16.04下安装ibus拼音
  4. java foreach和for循环区别_java相关:老生常谈foreach(增强for循环)和for的区别
  5. java实体类属性非空判断工具类
  6. 第三章:react 应用( 基于 react )
  7. 网络协议:TCP流量控制
  8. java删除相对路径文件夹_Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录...
  9. BUG(0):用某位表示特定属性
  10. php 依赖注入 数据库切换_PHP依赖注入(DI)和控制反转(IoC)详解
  11. 数据结构与计算机网络参考书,2019计算机考研:数据结构参考书及复习重点
  12. UG(NX)二次开发 BlockUI 集列表使用方法
  13. 稀疏编码(Sparse Coding)
  14. 抖音:技术优化打造最佳创作体验
  15. 读李智慧的《大型网站技术架构—核心原理与案例分析》有感
  16. 高清车牌识别系统无法连接服务器,智能停车场高清车牌识别系统,常见的故障及解决方法!...
  17. 2009年最新虚拟主机提供商排名榜
  18. 全志 Tina Linux 存储介质切换:eMMC,SPI NAND,SPI NOR,SD Card,SD NAND
  19. scipy5.01:积分应用:椭球体积的数值积分计算
  20. 【日常学习】U-net的改进

热门文章

  1. 语音信号线性预测分析(MATLAB实战篇)
  2. 英语流利说l4u1p2_L4-U1-P2-1Listening:ATriptoYosemitePark1 英语流利说 懂你英语
  3. SLF4J: The requested version 1.5.8 by your slf4j binding is not compatible with [1.6] SLF4J: See htt
  4. 零、一些常用的英文名称
  5. SLC MLC TLC QLC擦写次数
  6. C:fseek()与 ftell()
  7. Error:Execution failed for task ':app:validateSigningDevDebug'. Keystore file E:\workspace\trunk\H
  8. 程序员的奋斗史(十三)——我为什么不考研
  9. envi读取格式ang 还是mtl_ENVI学习笔记一 软件入门
  10. 黑马程序员--某天学习笔记