๋ชฉ๋ก๐ฉ๐ป IoT (Embedded) (235)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?

=> (22๋ 1์๊ธฐ์ค ์ต์ ๋ฐฉ๋ฒ) ์ค๋งํธ๋ฏธ๋ฌ ๋ง๋ค๊ธฐ #2 ์ค๋งํธ๋ฏธ๋ฌ๋ฅผ ์ํ ๋ผ์ฆ๋ฒ ๋ฆฌํ์ด ์ค์ ๐ฑ ํ๋ฉดํ์ ๊ฑฐ์ธ์ฒ๋ผ ๊ฐ๋ก๊ฐ ๊ธด ํ๋ฉด ๋ง๋ค๊ธฐ DISPLAY=:0 xrandr --output HDMI-1 --rotate right // ์ฐ๋๋ ์์ ๋ช ๋ น์ด๊ฐ ์๋์ด์ HDNU-2 ๋ก ๋ฐ๊ฟจ๋๋ ๋์๋ค // ๊ทธ์ธ์ left, inverted, normal(์์์น) ๊ฐ ์์ DISPLAY=:0 xrandr --output HDMI-2 --rotate right ๐ฑ ํ๋ฉด๊บผ์ง ๋ฐฉ์ง sudo apt-get install xscreensaver ์์๋ฒํผ - ๊ธฐ๋ณธ์ค์ - ํ๋ฉด๋ณดํธ๊ธฐ-ํ๋ฉด ๋ณดํธ๊ธฐ ์ฌ์ฉํ์ง ์์ (์ ํ) ๐ฑ wifi ์ ์ ๋ชจ๋ ํด์ iwconfig // power management: off์ธ์ง ํ์ธ // ์ง๊ธ์ ..

=> (22๋ 1์๊ธฐ์ค ์ต์ ๋ฐฉ๋ฒ) ์ค๋งํธ๋ฏธ๋ฌ ๋ง๋ค๊ธฐ #1 Magic mirror ์ค์น & ์๋์คํ ์ค์ ๐ฑ raspberry pi Monitor ์ ์ํ๊ธฐ putty ๋ก ํ๋ค๊ฐ... ๋ฐ๊ฟ ใ ..ใ .ใ ํ๋ฉด์ด ํ์ํ ๊ฒ ๊ฐํ์์ฉ ๐ฑ MagicMirror2 ๊ด๋ จ ํ๊ฒฝ์ค์ ์ฒจ๋ถ๋ ์ ํ๋ธ ๋ค์ด๊ฐ์๋ฉด, ํ๊ฒฝ ์ค์ ๊ด๋ จ๋ txt ์์ด์ฉ~ ๐ซ 1) ์ค์นํ๊ธฐ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs // ์๋๋ฉด sudo apt-get download nodejs // ์๋๋ฉด sudo dpkg --force-overwrite -i node + tab git clone https://github.com/..

Murtaza's Workshop ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>=> LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision ๐ Shapes/Contour Detection๐ง getStructuringElementํฌ๊ธฐ์ ๋ชจ์์ ์ค์ ํ๊ณ ๊ณ ์ ์ ์์น๋ ์์๋๋ก ๊ฒฐ์ getStructuringElement(shape, ksize, anchor=None) shape : ์ปค๋์ ๋ชจ์ (ํ์ : cv::MorphShapes) โบ MORPH_CROSS : ์ญ์๊ฐํ โบ MORPH_ELLIPSE : ํ์ํ โบ MORPH_RECT : ์ง์ฌ๊ฐํksize : ์ปค๋์ ํฌ๊ธฐanchor : ์ปค๋์ ๊ธฐ์ค์ ..

Murtaza's Workshop ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>=> LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision ๐ Color Detection๐ง HSV3๊ฐ์ ์ฑ๋ H(Hue, ์์กฐ), S(Saturation, ์ฑ๋), V(Value, ๋ช ๋) ๊ฐ๋ ์์ ์ด๋ฏธ์ง ํํ๋ฒ H ๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์ด๋ค ์์์ธ์งS๋ ์ด๋ฏธ์ง์ ์์์ด ์ผ๋ง๋ ์์ํ๊ฒ ํฌํจ๋์ด ์๋์งV๋ ์์์ด ์ผ๋ง๋ ๋ฐ์์ง ์ด๋์ด์ง๋ฅผ ํํ#include // OpenCV์์ ์ง์ํ๋ ๋ชจ๋ ๊ธฐ๋ฅ#include // ๋น๋์ค ์ถ์ ๋ฐ ๋ฐฐ๊ฒฝ segmentation๊ณผ ๊ด๋ จ๋ ๋ฃจํด#include // ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ด ์ ์ธ (Mat ์ด๋ Point..

Murtaza's Workshop ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>=> LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision ๐ Wrap Perspective๐ง getPerspectiveTransform์๊ทผ ๋ณํ์ ์ด๋ฏธ์ง๋ฅผ 3์ฐจ์์ผ๋ก ๋ณํ๋ฉ๋ฆฌ ์๋ ๊ฒ์ ์๊ฒ ๋ณด์ด๊ณ , ๊ฐ๊น์ด ์๋ ๊ฒ์ ํฌ๊ฒ ๋ณด์ด๋ ๊ฒ ์๊ทผ๋ฒ์ ์๋ฆฌ ์๊ทผ ๋ณํ์ ํ์ํ ๋ณํ ํ๋ ฌ์ ๋ฐํํด์ฃผ๋ ํจ์mtrx = cv2.getPerspectiveTransform(pts1, pts2)pts1 : ๋ณํ ์ด์ ์์์ ์ขํ 4๊ฐ, 4 x 2 ๋ฐฐ์ดpts2 : ๋ณํ ์ดํ ์์์ ์ขํ 4๊ฐ, 4 x 2 ๋ฐฐ์ดmtrx : ๋ณํํ๋ ฌ ๋ฐํ, 3 x 3 ํ๋ ฌ ๐ง warp..

Murtaza's Workshop ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>=> LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision ๐ Drawing shapes๐ง [Default] Drawing shapes#include // OpenCV์์ ์ง์ํ๋ ๋ชจ๋ ๊ธฐ๋ฅ#include // ๋น๋์ค ์ถ์ ๋ฐ ๋ฐฐ๊ฒฝ segmentation๊ณผ ๊ด๋ จ๋ ๋ฃจํด#include // ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ด ์ ์ธ (Mat ์ด๋ Point๊ฐ ์ ์ธ, ํ๋ ฌ ์ฐ์ฐ ํน์ ๋ฒกํฐ ์ฐ์ฐ)#include // ์๋์ฐ ํ๋ฉด, UI์ฒ๋ฆฌ(์ฌ๋ผ์ด๋, ๋ฒํผ ๋ฑ) ๋ฐ ๋ง์ฐ์ค ์ ์ด ๊ฐ๋ฅ#include #include using namespace cv;using ..

Murtaza's Workshop ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>=> LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision ๐ Resize and Crop๐ง Resize์ด๋ฏธ์ง๋ฅผ ํ๋ ๋๋ ์ถ์cv2.resize ( img , dsize, fx, fy, interpolation ) img : image file dsize : ๊ฐ๋ก, ์ธ๋ก ํํ์ ํํ์ ์ง์ ํ์ฌ, ํ๋ ๋ฐ ์ถ์ ๊ฐ๋ฅ ex) (100, 200)fx : ๊ฐ๋ก ์ฌ์ด์ฆ์ ๋ฐฐ์ , 2๋ฐฐ ํ๋๋ 2.0 , 1/2 ์ถ์๋ 0.5 exfy : ์ธ๋ก ์ฌ์ด์ฆ์ ๋ฐฐ์interpolation : ๋ณด๊ฐ๋ฒ ( ์ด๋ค ๋ฐฉ์์ผ๋ก ์ด๋ฏธ์ง ๊ฐ์ ์ฑ์ธ๊ฒ์ธ๊ฐ ) INTE..

Murtaza's Workshop ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>=> LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision ๐ RGB(Red, Green, Blue) ์์์ ํํํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ RGB(Red, Green, Blue) : ๋นจ๊ฐ, ์ด๋ก, ํ๋ ์ธ ๊ฐ์ง ์์ ๋น์ ์์ด์ ์ํ๋ ์์ ๋ง๋ฆ: ๊ฐ ์์์ 0~255 ์ฌ์ด์ ๊ฐ์ผ๋ก ํ์ํ๊ณ ๊ฐ์ด ์ปค์ง์๋ก ํด๋น ์์์ ๋น์ด ๋ฐ์์ง๋ ์๋ฆฌ: RGB = (255, 255, 255) ์ผ ๋๋ ํฐ์์ด๊ณ , RGB = (0, 0, 0) ์ผ ๋๋ ๊ฒ์์ OpenCV๋ ๊ทธ ๋ฐ๋์ ์์์ธ BGRRGBA๋ RGB์ A(์ํ, alpha)๊ฐ ์ถ๊ฐ๋ ์์ ํ๊ธฐ๋ฒ: A๋ ๋ฐฐ๊ฒฝ์ ํฌ..