44问答网
所有问题
进行图像处理时,将原图像的灰度值转换成double的作用?转换成uint8显示的作用?
如题所述
举报该问题
推荐答案 推荐于2016-10-22
将原图像的灰度值转换成double的作用主要是考虑计算过程中的精度的问题,double 的数据是有小数点的,而uint8是0-255的整数,如果直接用uint8计算,会在计算过程中产生舍入误差,这种误差在图像的数据中是比较大的误差。显示的时候是因为我们的显示系统采用的颜色模式大多为RGB模式,其每一种颜色分量的取值只能在0-255,所以显示时要用uint8数据。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/GKRRYWDRG.html
相似回答
对于一副
uint8图像
而言
,将图像
直接
灰度
化和先
double
化,再灰度化有什么...
答:
直接灰度化是将三个通道的值按公式合并为一个值,
先double再灰度化是第一步把uint8换成小数,再把三个通道的double合并为一个值
。二者数值上并没与不同,只有数据类型不同。
matlab读取写入
图像时的
格式
答:
imread
把灰度图像
存入一个8位矩阵,当为RGB
图像时,
就存入8位RGB矩阵中。因此,matlab读入
图像的
数据是
uint8
,而matlab中数值一般采用double型(64位)存储和运算。所以要先将
图像转为double
格式的才能运算,I2=im2double(I1) %
把图像
I1
转换成double
精度类型 (假设图形矩阵范围0~255)或者 I64=doubl...
J=
double
(I)、K=
uint8
(F)和J=im2double(I)、K=im2uint8(F)到底有...
答:
所以imread(double(uint8(a)))
显示的
全是白色,具体解释为
uint8转换成double
后如19转化为19.0,imread时19.0>1所以显示的是白色。而对于imread(im2double(im2uint8(a)))
,uint8转化成double
后如19转化为19/255,而19/255<1,所以显示的是其
灰度值
。
用MATLAB做
灰度
变换的问题
答:
减号运算无法用于
uint8
型。建议用matlab做
图像处理时
先
转换为double
型,运算好后再转为uint8型。I=imread('LENA.BMP');A=ones(256)*255;G=uint8(A-double(I));imshow(I);imshow(G);
大家正在搜
matlab转换为灰度图像
matlab灰度图像处理
matlab把灰度图像变成彩色的
将图像转换为灰度模式再编辑
将灰度图像转换为彩色效果
ps如何将图像转换为灰度模式
matlab生成灰度图像
matlab灰度图像转彩色
图像转换为灰度模式
相关问题
进行图像处理时,将原图像的灰度值转换成double的作用?转...
在处理图像之前问什么用double和uint8
matlab图像处理为什么要double和uint8转换
matlab图像处理关于unit8的问题
数字图像处理中,在计算PSNR的时候为什么需要将图像灰度值变...
如何在matlab图像中从unit8转换成Double或si...
对于一副uint8图像而言,将图像直接灰度化和先double...
matlab 中如何将unit8转成double型