资源简介
相机原生bayer图像raw文件转成DNG文件,支持8位、10位、12位和16位raw转8位、10位、12位和16位的DNG。
语言Python 3.6.8,有两个项目支持CUDA加速转换。详情查看README文件。
代码片段和文件信息
#项目来源于github的开源项目https://github.com/schoolpost/PyDNG 个人稍作修改
# image specs Need to be modified depending on the picture 视图片情况需要修改
#本人使用华为P9相机进行测试,与其它相机可能存在数据出入,请以自己相机的为准
#相机元数据信息获取使用Android的camera2类库进行相机测试
#安装pucuda前请安装好CUDA Toolkit 9.0/9.1/9.2/10.0/10.1
#这个项目使用GPU进行加速计算,显卡不是NVIDIA的或无CUDA的请用CPU计算的项目:raw10ToDNG8or10or12or16.py
from timeit import default_timer as timer
from pydng.core import RAW2DNG DNGTags Tag
import numpy as np
import struct collections
import threading
import pycuda.autoinit
import pycuda.driver as drv
from pycuda.compiler import SourceModule
global_time = timer() #开始计时
width = 1920 #图片宽度
height = 1080 #图片高度
bpp = 10 #输出位深只有8、10、12、14和16这5种数值可选 Only 8 10 12 14 and 16 are available
#低位深转高位深仅仅填充0在高位,无实际意义! 高位深转低位深,可以减少文件大小。
#Low depth to high depth only fill 0 in the high no practical significance! High depth to low depth can reduce the file size.
ccm1 = [[19549 10000] [-7877 10000] [-2582 10000]
[-5724 10000] [10121 10000] [1917 10000]
[-1267 10000] [ -110 10000] [ 6621 10000]]
ccm2 = [[13244 10000] [-5501 10000] [-1248 10000]
[-1508 10000] [9858 10000] [1935 10000]
[-270 10000] [-1083 10000] [4366 10000]]
fm1 = [[612 1024] [233 1024] [139 1024]
[199 1024] [831 1024] [-6 1024]
[15 1024] [-224 1024] [1049 1024]]
fm2 = [[612 1024] [233 1024] [139 1024]
[199 1024] [831 1024] [-6 1024]
[15 1024] [-224 1024] [1049 1024]]
“““nccm1 = [[10000 10000] [0 10000] [0 10000]
[0 10000] [10000 10000] [0 10000]
[0 10000] [ 0 10000] [ 10000 10000]]
nccm2 = [[10000 10000] [0 10000] [0 10000]
[0 10000] [10000 10000] [0 10000]
[0 10000] [ 0 10000] [ 10000 10000]]“““
#neutralColorPoint = [[273355][11][91256]] #白炽灯
#自动 [[1092 1951] [1 1] [1092 2129]] 自动的矩阵值根据场景不同发生变化
#荧光灯 [[1092 2117] [1 1] [1092 2305]]
#暖荧光 [[1092 2435] [1 1] [91 207]]
#日光 [[78 163] [1 1] [52 89]]
#多云 [[546 1367] [1 1] [364 509]]
#黄昏 [[546 815] [1 1] [182 537]]
#阴天 [[182 489] [1 1] [7 9]]
mod = SourceModule(“““
__global__ void func10(unsigned short *runsigned char *isize_t L)
{
const int index = blockIdx.x * blockDim.x + threadIdx.x;
if(index >= L)
{
return;
}
const int yushu = index % 4;
const int shang = index / 4;
if(yushu == 0)
{
r[index] = (i[index+shang] | (i[index+shang+1] & 0xC0) << 2);
}
else if(yushu == 1)
{
r[index] = ((i[index+shang] & 0x3F) | (i[index+shang+1] & 0xF0) << 2);
}
else if(yushu == 2)
{
r[index] = ((i[index+shang] & 0x0F) | (i[index+shang+1] & 0xFC) << 2);
}
else if(yushu == 3)
{
r[index] = ((i[index+shang] & 0x03) | i[index+shang+1] << 2);
}
}
__global__ void func8(u
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9 2020-11-28 12:11 bayerRaw2DNG\.git\COMMIT_EDITMSG
文件 306 2020-11-07 19:57 bayerRaw2DNG\.git\config
文件 73 2020-11-07 19:57 bayerRaw2DNG\.git\desc
文件 19 2020-11-28 12:09 bayerRaw2DNG\.git\HEAD
文件 478 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\applypatch-msg.sample
文件 896 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\commit-msg.sample
文件 4655 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\fsmonitor-watchman.sample
文件 189 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\post-update.sample
文件 424 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\pre-applypatch.sample
文件 1643 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\pre-commit.sample
文件 416 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\pre-merge-commit.sample
文件 1374 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\pre-push.sample
文件 4898 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\pre-reba
文件 544 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\pre-receive.sample
文件 1492 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\prepare-commit-msg.sample
文件 3650 2020-11-07 19:57 bayerRaw2DNG\.git\hooks\update.sample
文件 2011 2020-11-28 12:11 bayerRaw2DNG\.git\index
文件 240 2020-11-07 19:57 bayerRaw2DNG\.git\info\exclude
文件 959 2020-11-28 12:11 bayerRaw2DNG\.git\logs\HEAD
文件 341 2020-11-07 20:17 bayerRaw2DNG\.git\logs\refs\heads\main
文件 303 2020-11-19 00:51 bayerRaw2DNG\.git\logs\refs\heads\v1
文件 301 2020-11-28 12:11 bayerRaw2DNG\.git\logs\refs\heads\v2
文件 190 2020-11-07 19:57 bayerRaw2DNG\.git\logs\refs\remotes\origin\HEAD
文件 145 2020-11-07 20:17 bayerRaw2DNG\.git\logs\refs\remotes\origin\main
文件 145 2020-11-19 00:52 bayerRaw2DNG\.git\logs\refs\remotes\origin\v1
文件 145 2020-11-28 12:12 bayerRaw2DNG\.git\logs\refs\remotes\origin\v2
文件 2856 2020-11-19 00:49 bayerRaw2DNG\.git\ob
文件 145 2020-11-19 00:51 bayerRaw2DNG\.git\ob
文件 3634 2020-11-07 20:16 bayerRaw2DNG\.git\ob
文件 58 2020-11-07 20:17 bayerRaw2DNG\.git\ob
............此处省略129个文件信息
- 上一篇:python最新安装包
- 下一篇:Python-3.7.1.tgz
相关资源
- Python-3.7.1.tgz
- python最新安装包
- Python Machine Learning 2nd Edition [Sebastian
- 机器学习——推荐系统python实现
- Python3源代码.rar
- 基于卷积神经网络的手势识别
- Sublime Text238239
- Python 强化学习 DQN Flappy Bird
- python2环境的opencv库
- zw_hljwkwm-10721414-零基础入门学习Pytho
- Python for Finance.中文版(Yves Hilpisch)
- opencv_python-3.3.0-cp35-cp35m-win_amd64.whl
- 《贝叶斯思维:统计建模的Python学习法
- Python程序设计_车万翔译_课后全部答案
- opencv_python-4.1.0.25-cp37-cp37m-win_amd64.wh
- Python-利用TensorFlow中的深度学习进行图
- python深度学习pdf+源码案例
- simplecv实用机器视觉+OpenCV-Python-Totur
- Python3.7 免安装版
- 冲顶大会/芝士超人/花椒直播...答题助
- Serial assistant.rar
- Python金融大数据分析 完整.pdf版
- 《Python3程序开发指南 Programming in Py
- Introduction to Machine Learning with Python_正
- PYTHON数据可视化编程实战PDF
- python3.4+pywin32 32位
- 深入浅出Python(中文版)
- 阿里云大学马哥python资料.zip
- opencv_python-4.1.2-cp37-cp37m-win_amd64.whl
- Selenium 2自动化测试实战 基于Python语言
评论
共有 条评论