• 大小: 17.88MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-25
  • 语言: Python
  • 标签: python  RAW  DNG  bayer文件  

资源简介

相机原生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\description

     文件         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-rebase.sample

     文件        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\objects\05\3895f041297f7688ba5492479fb9d39e6205b3

     文件        145  2020-11-19 00:51  bayerRaw2DNG\.git\objects\0a\8c1f8262be539eecc3a888b57d62bda027d3ea

     文件       3634  2020-11-07 20:16  bayerRaw2DNG\.git\objects\0d\ddf13713bfb610d65ee0247e8d58a2ab64ece8

     文件         58  2020-11-07 20:17  bayerRaw2DNG\.git\objects\11\6df1ba2f2a856670b7a81bcfcb9a6ec3d03845

............此处省略129个文件信息

评论

共有 条评论