DM camera python extension
Project description
Presentation
The dmcam Python package is developed for interacting with Smarttof Module produced by Digital Intelligent technology co. LTD.
Usage example
import sys
import numpy as np
import time
import dmcam
def on_frame_rdy(dev, f):
# print("cap: idx=%d, num=%d" % (f.frame_fbpos, f.frame_count))
# time.sleep(0.5)
pass
def on_cap_err(dev, errnumber, errarg):
print("caperr: %s" % dmcam.error_name(errnumber))
if errnumber == dmcam.DMCAM_ERR_CAP_FRAME_DISCARD:
print(" %d frame discarded" % int(errarg))
# if return false, the capture process will be stopped
return True
# init the lib with default log file
dmcam.init(None)
# init with specified log file
# dmcam.init("test.log")
# set debug level
dmcam.log_cfg(dmcam.LOG_LEVEL_INFO,
dmcam.LOG_LEVEL_DEBUG, dmcam.LOG_LEVEL_NONE)
# list device (maximum 10 devices to store)
print(" Scanning dmcam device ..")
devs = dmcam.dev_list()
if devs is None:
print(" No device found")
sys.exit(1)
print("found %d device" % len(devs))
for i in range(len(devs)):
print("DMCAM#%d [%03d:%03d:%03d]: VENDOR=%s, PROD=%s, SERIAL=%s"
% (i, devs[i].if_info.info.usb.usb_port_num, devs[i].if_info.info.usb.usb_bus_num,
devs[i].if_info.info.usb.usb_dev_addr, devs[i].vendor,
devs[i].product, devs[i].serial))
print(" Open dmcam device ..")
# open the first device
# dev = dmcam.dev_open(devs[0])
dev = dmcam.dev_open(None)
assert dev is not None
# print(" Config capture param ..")
# set 10 frames framebuffer
dmcam.cap_set_frame_buffer(dev, None, 10 * 320 * 240 * 4)
# dmcam.cap_set_callback_on_frame_ready(dev, on_frame_rdy)
dmcam.cap_set_callback_on_error(dev, on_cap_err)
# write to ramp mode
# dmcam.reg_batch_write(dev, dmcam.DEV_REG_TFC_DE, 0x31, np.array([0x1803], dtype="uint32"))
# regval = dmcam.reg_batch_read(dev, dmcam.DEV_REG_TFC_DE, 0x31, 1)
# print(regval)
# assert regval[1] == 0x1803
print(" Set paramters ...")
# write illumination power: 100%
pwr_percent = 100
wparams = {
dmcam.PARAM_ILLUM_POWER: dmcam.param_val_u(),
dmcam.PARAM_INTG_TIME: dmcam.param_val_u(),
dmcam.PARAM_FRAME_FORMAT: dmcam.param_val_u(),
}
wparams[dmcam.PARAM_ILLUM_POWER].illum_power.percent = pwr_percent
wparams[dmcam.PARAM_INTG_TIME].intg.intg_us = 1000
wparams[dmcam.PARAM_FRAME_FORMAT].frame_format.format = 2
if not dmcam.param_batch_set(dev, wparams):
print(" set parameter failed")
print(" Start capture ...")
dmcam.cap_start(dev)
f = bytearray(320 * 240 * 4 * 2)
print(" sampling 100 frames ...")
count = 0
run = True
while run:
# get one frame
finfo = dmcam.frame_t()
ret = dmcam.cap_get_frames(dev, 1, f, finfo)
# print("get %d frames" % ret)
if ret > 0:
w = finfo.frame_info.width
h = finfo.frame_info.height
print(" frame @ %d, %d, %dx%d" %
(finfo.frame_info.frame_idx, finfo.frame_info.frame_size, w, h))
dist_cnt, dist = dmcam.frame_get_distance(dev, w * h, f, finfo.frame_info)
gray_cnt, gray = dmcam.frame_get_gray(dev, w * h, f, finfo.frame_info)
# dist = dmcam.raw2dist(int(len(f) / 4), f)
# gray = dmcam.raw2gray(int(len(f) / 4), f)
count += 1
if count >= 100:
break
else:
break
time.sleep(0.01)
# break
# print("wait 3000ms")
# dmcam.cap_wait(dev, 3000)
print(" Stop capture ...")
dmcam.cap_stop(dev)
print(" Close dmcam device ..")
dmcam.dev_close(dev)
dmcam.uninit()
sys.exit(-1)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distributions
dmcam-1.57.3-cp37-cp37m-win_amd64.whl
(349.6 kB
view hashes)
dmcam-1.57.3-cp37-cp37m-win32.whl
(326.0 kB
view hashes)
dmcam-1.57.3-cp36-cp36m-win_amd64.whl
(349.6 kB
view hashes)
dmcam-1.57.3-cp36-cp36m-win32.whl
(326.0 kB
view hashes)
dmcam-1.57.3-cp35-cp35m-win_amd64.whl
(349.6 kB
view hashes)
dmcam-1.57.3-cp35-cp35m-win32.whl
(326.0 kB
view hashes)
dmcam-1.57.3-cp34-cp34m-win_amd64.whl
(345.6 kB
view hashes)
dmcam-1.57.3-cp34-cp34m-win32.whl
(324.7 kB
view hashes)
dmcam-1.57.3-cp27-cp27m-win_amd64.whl
(346.1 kB
view hashes)
dmcam-1.57.3-cp27-cp27m-win32.whl
(324.7 kB
view hashes)
Close
Hashes for dmcam-1.57.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb36721508e5f109f299e57513c23851f78fc3f805e5bbbd29e7d3adb5d4839a |
|
MD5 | a0dd04dfed4d03fafe050f17561c3b8c |
|
BLAKE2b-256 | 680c9042f4f893c1dcf0ba5a4323980c860dcf775279c8240c15f01e3b943ca9 |
Close
Hashes for dmcam-1.57.3-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ba1ae8c5db2e411a48bfee2819b25fe8a5ee03c79da64ed8dd3cf421b7b51a1 |
|
MD5 | 4fe90413231a7dd3bb2cf9b3472e5603 |
|
BLAKE2b-256 | e1d272d6c70f03e8db468a85d04f5efd7f4d3b90ca2754f9ac2eea0506fc150f |
Close
Hashes for dmcam-1.57.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ba0d88e7bfa4e3c43d5037b63a3acc682cda17e42270e12fc51e3cb2b885d0 |
|
MD5 | 6442f9a070db959ffe07f28bd0959833 |
|
BLAKE2b-256 | d7a7110700bb50bb13d920073c055e816eb534ab144eee6ada4378171b343ab5 |
Close
Hashes for dmcam-1.57.3-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 486e6ef26817a1ceb183fa17e47d7961a216ca2dc2b5bd83bb7e6f681a67e122 |
|
MD5 | cb4321ce23ca411147cefc8f5dad5aba |
|
BLAKE2b-256 | 4d39574462b1dd54fc4babe7ebdd6c7355cf1142ba278beea6a2d85bca7e61b4 |
Close
Hashes for dmcam-1.57.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6620413eee593ff08843986cfe952f38000278c675321318c9954d7ebd1bc09b |
|
MD5 | d89c2026af22bac34cc88ac96c7c49a0 |
|
BLAKE2b-256 | 4af5ff57e06dbce1722e8a9de7d5f8395dd5aed52cbdbbf74df4ab735839bc3a |
Close
Hashes for dmcam-1.57.3-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7152beee157a3c797c57784d6b6dca0bf6ce075c1f38a40ab1263549ef12ffd3 |
|
MD5 | a5f70c296bc5883ff29f54cb84218b9e |
|
BLAKE2b-256 | 4c14936ea41aff71b25a71a1121fc9573571a0423cd4a471c594e7b51e60a899 |
Close
Hashes for dmcam-1.57.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21bdb0d63dab7a4eec898da6f637797dca6d029f2c1b83c68472403935102dc4 |
|
MD5 | 94a37ad0f3836948567d116bcac2dd5b |
|
BLAKE2b-256 | a5eae4e0b7f2e53346bbce178fb0fbcf82b7498f95db4453be93af5ffe6c26a2 |
Close
Hashes for dmcam-1.57.3-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c927b0362c010efe8c7601fb8b8aba63b8b970abe90fc2e0c63432cf1fd916b |
|
MD5 | ca29d1b33edc8e09d6e78b76ce0adc88 |
|
BLAKE2b-256 | 2c14f69044c28638613d4a34bbb246ebe0c7796ee65ac521fa31d749c827b9b2 |
Close
Hashes for dmcam-1.57.3-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9299f839221d19f644bab8831845e6426ad9c0d949f7e78e39a296b758e62e3 |
|
MD5 | 8a8d4e7eb6590bf7cc282e15723afcf6 |
|
BLAKE2b-256 | 34e78ed40acaf25cea853afc1296315092339bf771b2c43e3fac662c661ce9f8 |
Close
Hashes for dmcam-1.57.3-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25d8836ce47601eb9e09a8d3a6ab41d34fb17cc0871aa318858910582d8ab142 |
|
MD5 | 584ff4226637b5981fd653474f394603 |
|
BLAKE2b-256 | c9dcb592a8454fbb677028d3acb8f03f96afd91b2d84dc92d151351630af8b1c |
Close
Hashes for dmcam-1.57.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb0f8fd31d94d04621d3cdfc0d6954cb63f76888c9634bb96a82e7eb48f29212 |
|
MD5 | 38ba9dbbc0a164dcf6dd8c01e1c66a13 |
|
BLAKE2b-256 | 69d8f2ce84b098089a10806a360c314ba7ca3550908466c0bc24c3a2d0933907 |
Close
Hashes for dmcam-1.57.3-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cea6c2476c1d9f67d1ceb0edb635b38bcfe3f015f216e1b3ab20dd8e8929dac5 |
|
MD5 | e7be6573312eca52ad62184361bf3fe8 |
|
BLAKE2b-256 | e842b2453130ebec1b88faefe31eb0dff211c3df70d30f308d926545a8d4c5f8 |
Close
Hashes for dmcam-1.57.3-cp34-cp34m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04a83880aac8fe37e1d487572a435b7f44d648d3c89a5cbc15c90868c3324c1 |
|
MD5 | 331363688f5c6ded18e3c6d8a1dcd958 |
|
BLAKE2b-256 | 150b1140694ee27ce7363c5d5311d5a1de3eb019e815da5821daae6ed51c28ca |
Close
Hashes for dmcam-1.57.3-cp34-cp34m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 458a67229367f8f4ccd4640f5af2efb3d50150992b2fd46cc5ea82a5c49ba296 |
|
MD5 | dfd6b536d5157f2fa4a290b8805921e0 |
|
BLAKE2b-256 | 26bbf74b205c08f8fadc886d981dfbdd78dd19b7b9d96dbf12f3e462a58e015b |
Close
Hashes for dmcam-1.57.3-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92ab0567497b48ab4621b1c2c2b1f9049e33713477a7735aa51dc6b0aa173dd4 |
|
MD5 | 3959d6ab4d9c37df57d9af06d89b38fa |
|
BLAKE2b-256 | 506c0431485656d5e52dd69ffdbc2a7d21aaa2c148d5e8cb339fb5a9e09c8823 |
Close
Hashes for dmcam-1.57.3-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 455471449c599f09ce4b0ab3e3e605e10b32384897587eff9232f60f977c070c |
|
MD5 | 283537e9a002b1af7f69379149276dac |
|
BLAKE2b-256 | 25a51bc9d288ea111be5b137797c86654387175f01a04345fcdb2a2786ea3cb9 |
Close
Hashes for dmcam-1.57.3-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b14e5313b20845afc8ec4f130b2c3a4b966ac41707217ada2c04e96dfa8d2cfb |
|
MD5 | 0decaf55f414446e8c45b9483c1c80ec |
|
BLAKE2b-256 | d47862a198149303d2b0595998da08004c604d7ebd19726f085410a01035a2d1 |
Close
Hashes for dmcam-1.57.3-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 338c4ee729f6a87d4bec6168e443a631410bab49fdf43ef0e89fb6c1bf16860e |
|
MD5 | faebcf52cef01ad9c3c34291a5f215e8 |
|
BLAKE2b-256 | 3621cc15ad90839c6d7280de12d445a9cb621f5a8c8d7124a40bf12a5efae523 |
Close
Hashes for dmcam-1.57.3-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8397382a96f25194eadf7872ca627083ab1566eac411ad921fe3fbd98bca76e7 |
|
MD5 | 044110b8c0d06ac6c8020e45387bcb2a |
|
BLAKE2b-256 | d0c026a2a9c664c52498cf78f944b67d62e4b65b6098bb9f68f90598244f3a19 |
Close
Hashes for dmcam-1.57.3-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81d2366002e44332d6d7e7d08d270642b39e6f45d6f8116d7a380b7a5731d1a3 |
|
MD5 | e42e6d33aa21f1c5a1d4e37e2d176c36 |
|
BLAKE2b-256 | 05023157ae27b0d6870ab89af61b914736f3a9c424a427599bfdfa59302c7d05 |
Close
Hashes for dmcam-1.57.3-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58f58060d39e909ed3a48cfea6e29fb96153f79107f54030a458ff42468844d1 |
|
MD5 | bb8a472df665564b10e5c0a1ec2c8ef0 |
|
BLAKE2b-256 | b9bf7dd6f9df0cf52ed89895876c5432a7678a29dcd940c4f4cfacdb1811b3c2 |
Close
Hashes for dmcam-1.57.3-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afd0d70cde0753811b6d1f75bbeeedcfe1e802a9e41a13907b6b1ef2db2eabbd |
|
MD5 | 449be7d31c4e86d124e75adb217a400d |
|
BLAKE2b-256 | b3011b1f71243a1e09d8330a069b354b3a5c8dabf3c950e3121fe55994b89bd0 |