OpenCV Layer Helper
Project description
cvlayer
OpenCV Layer Helper
Install
Install cvlayer
:
pip install cvlayer
Install cvlayer
with opencv-python
:
pip install cvlayer[opencv]
Install cvlayer
with opencv-python-headless
:
pip install cvlayer[headless]
Usage
CvLayer
Just inherit cvlayer.CvLayer
.
from cvlayer import CvLayer
class YourApp(CvLayer):
def func(self, image):
self.cvl_cvt_color_bgr2hsv(image)
CvWindow
Just inherit cvlayer.CvWindow
.
from sys import argv
from cvlayer import CvLayer, CvWindow
from cvlayer.palette.basic import RED
class YourWindow(CvWindow, CvLayer):
def __init__(self, source: str):
super().__init__(source)
def on_frame(self, image):
with self.layer("hsv") as layer:
layer.frame = self.cvl_cvt_color_bgr2hsv(layer.prev_frame)
with self.layer("select-hsv-channel") as layer:
i = layer.param("i").build_unsigned(0, max_value=2).value
layer.frame = channel = layer.prev_frame[:, :, i].copy()
with self.layer("select-roi") as layer:
self.plot_roi = roi = layer.param("roi").build_select_roi().value
layer.frame = image.copy()
self.cvl_draw_rectangle(layer.frame, roi, color=RED)
with self.layer("select-points") as layer:
points = layer.param("points").build_select_points().value
layer.frame = select_points = image.copy()
for x, y in points:
self.cvl_draw_crosshair_point(select_points, x, y, color=RED)
return channel
if __name__ == "__main__":
YourWindow(argv[1]).run()
Samples
from cvlayer import CvLayer, CvWindow
class YourWindow(CvWindow, CvLayer):
def on_frame(self, image):
with self.layer("morphology_ex") as layer:
ksize = layer.param("ksize").build_unsigned(3, 3).value
i = layer.param("iter").build_unsigned(1, 1).value
m = self.cvl_get_structuring_element(MorphMethod.ELLIPSE, (ksize, ksize))
src = layer.prev_frame
opening = cv2.morphologyEx(src, cv2.MORPH_OPEN, m, iterations=i)
layer.frame = opening
from cvlayer import CvLayer, CvWindow
class YourWindow(CvWindow, CvLayer):
def on_frame(self, image):
with self.layer("dilate") as layer:
ksize = layer.param("ksize").build_unsigned(3, 3).value
i = layer.param("iter").build_unsigned(1, 1).value
m = self.cvl_get_structuring_element(MorphMethod.ELLIPSE, (ksize, ksize))
layer.frame = dilate = self.cvl_dilate(layer.prev_frame, m, iterations=i)
from cvlayer import CvLayer, CvWindow
class YourWindow(CvWindow, CvLayer):
def on_frame(self, image):
with self.layer("erode") as layer:
ksize = layer.param("ksize").build_unsigned(3, 3).value
i = layer.param("iter").build_unsigned(1, 1).value
m = self.cvl_get_structuring_element(MorphMethod.ELLIPSE, (ksize, ksize))
layer.frame = erode = self.cvl_erode(layer.prev_frame, m, iterations=i)
License
See the LICENSE file for details. In summary, cvlayer is licensed under the MIT license.
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 Distribution
cvlayer-0.13.0-py3-none-any.whl
(112.1 kB
view hashes)