永发信息网

matlab数据类型转换——int8转换成unit8

答案:4  悬赏:0  手机版
解决时间 2021-11-07 23:37
  • 提问者网友:王者佥
  • 2021-11-07 07:51
matlab数据类型转换——int8转换成unit8
最佳答案
  • 五星知识达人网友:酒安江南
  • 2021-11-07 08:34
最简单的方法是把I改为double型后做+128计算再转为uint8。

I=double(I)+128;
I=uint8(I);
当然你也可逐点遍历I,以求得新的一个unit8矩阵J,通过判断正负给该点J(i,j)赋值:
若I(i,j)>=0时:J(i,j)=128+uint8(I(i,j));
若I(i,j)<0时, J(i,j)=128-uint8(abs(I(i,j)));
但需要说明的是matlab中循环的效率不及矩阵直接运算的高。
全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-11-07 10:20
加128怎么会溢出?
  • 2楼网友:低血压的长颈鹿
  • 2021-11-07 10:12
+128,再将中间结果存为uint8
  • 3楼网友:十年萤火照君眠
  • 2021-11-07 09:26
功能性用法,编程,模型建立。
方方面面,需要你多使用,最好有本书刊来看
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯