使用opencv转换3d图片

最近主流智能手机开始支持3D拍照,这些导出来16-bit .mhd/.raw的图片,无法直接查看,当然使用Fiji/ImageJ可以粗略的查看,但是操作不太方便。

这里我们以vivo x21为例进行图片转换。

  • 技术支持 (可以加钉钉pythontesting邀请加入) qq群:144081101 591302926 567351477

  • 道家技术-手相手诊看相中医等钉钉群21734177 qq群:391441566 184175668 338228106 看手相、面相、舌相、抽签、体质识别。服务费50元每人次起。请联系钉钉或者微信pythontesting

接口自动化性能测试数据分析人工智能从业专家一对一线上培训大纲

切分raw为depth和ir

split_raw.py

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import argparse

from photos import *
from data_common import *

parser = argparse.ArgumentParser()
parser.add_argument('directory', action="store", help=u'文件名')
parser.add_argument('--version', action='version',
                    version='%(prog)s 1.1 Rongzhong xu 2018 04 11')
options = parser.parse_args()

files = find_files_by_type(options.directory,filetype="raw")
for filename in files:
    split_raw(filename)

上述代码地址

转换ir为depth

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import argparse

from photos import *
from data_common import *

parser = argparse.ArgumentParser()
parser.add_argument('filename', action="store", help=u'文件名')
parser.add_argument('-b', action="store_true", default=False, help=u'是否批量')
parser.add_argument('-t', action="store", dest="type", default="ir", 
                    help=u'文件类型')
parser.add_argument('--version', action='version',
                    version='%(prog)s 1.1 Rongzhong xu 2018 04 11')
options = parser.parse_args()

if options.b:
    for name in find_files_by_type(options.filename,filetype=options.type):
        raw2jpg(name)    
else:
    raw2jpg(options.filename)

用ImageJ打开:

Alt Text

转换后的图:

Alt Text

参考资料:

links