if True:
# Addition
add = lambda x, y : (x + y)
# Multiplication
mcl = lambda x, y : (x * y)
------ ----------- -----------
IMG 903px 1212px
------ ----------- -----------
A4 210mm 297mm
------ ----------- -----------
Ratio 4.3px/mm 4.1px/mm
0.23mm/px 0.24mm/px
------ ----------- -----------
if True:
zero = np.zeros(frame.shape[:2], np.uint8)
b, g, r = cv2.split(frame)
frame = cv2.merge([zero, zero, r]).astype(np.uint8)
if True:
single = cv2.cvtColor(normal, cv2.COLOR_BGR2YCR_CB)
(y, cr, cb) = cv2.split(single)
cr = cv2.GaussianBlur(cr, (5, 5), 0)
_, skin = cv2.threshold(cr, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
res = cv2.bitwise_and(normal, normal, mask = skin)
cv2.imshow('Cr', res)
if True:
sobelx = cv2.Sobel(gray, cv2.CV_64F, 1, 0, ksize=9)
sobely = cv2.Sobel(gray, cv2.CV_64F, 0, 1, ksize=9)
sobel = cv2.addWeighted(sobelx, 0.5, sobely, 0.5, 0)
cv2.imshow('Sobel', sobel)
def lineSlope(p1, p2):
slope = (p2[1] - p1[1]) / (p2[0] - p1[0])
return slope
def slopeAngle(p1, p2):
slope = lineSlope(p1, p2)
radian = np.arctan(slope)
return radian
def angleDegree(radian):
theta = int(radian * 180 / np.pi) % 360
return theta
RealSence ToF
https://github.com/IntelRealSense/librealsense/tree/development/wrappers/python
https://github.com/IntelRealSense/librealsense/tree/development/wrappers/python/examples
pip install pyrealsense2
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting pyrealsense2
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/80/53/7c90f162661b4ad0dd4d2d4dc2e8330c52943cbd968c44770464d6d658b8/pyrealsense2-2.54.1.5217-cp39-cp39-win_amd64.whl (5.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 10.8 MB/s eta 0:00:00
Installing collected packages: pyrealsense2
Successfully installed pyrealsense2-2.54.1.5217
Librealsense frames support the buffer protocol
import numpy as np
import pyrealsense2 as rs
pipeline = rs.pipeline()
pipeline.start()
try:
while True:
frames = pipeline.wait_for_frames()
depth = frames.get_depth_frame()
if not depth: continue
depth_data = depth.as_frame().get_data()
np_image = np.asanyarray(depth_data)
finally:
pipeline.stop()