λͺ©λ‘μ 체 κΈ (1005)
π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?

π channle λ³ νλ ¬ λ°μ΄ν° ꡬ쑰 π μ λ ₯ μμμ κΈ°μ€μΌλ‘ λ°λ³΅ μ€ν def scale_nogood(img, scale_x=1, scale_y=1): height, width = img.shape img_ = np.zeros((int(height*scale_y), int(width*scale_x)), dtype=np.uint8) for y in range(height): for x in range(width): try: img_[int(y*scale_y), int(x*scale_x)] = img[y, x] except: pass return img_ import cv2 import numpy as np img = cv2.imread("images/lena.jpg", cv2.IMREAD_GRAYSCA..

π νμ€ν κ·Έλ¨ by. cv2 μ νμ€ν κ·Έλ¨ λ³΄λκΉ 0μ κ·Όμ ν μκ° λ§μ κ±Έ 보μ μ΄λμ΄ κ·Έλ¦ΌμΈκ±Έ νμΈνλ€! import cv2 img = cv2.imread("images/couple2.jpg", flags=cv2.IMREAD_GRAYSCALE) import numpy as np hist = np.zeros((256)) cv2.imshow('histogram', img) cv2.waitKey(0) cv2.destroyAllWindows() height, width = img.shape for y in range(height): for x in range(width): hist[img[y,x]] = hist[img[y,x]] + 1 import matplotlib.pyplot as plt plt.bar(..

π 0κ³Ό 1λ‘ λͺ μ ννν΄λ³΄κΈ° λλλ§(Dithering)μ μ νλ μμ μ΄μ©νμ¬ μμμ΄λ μμ λνλ΄λ κ²μ΄λ©°, μ¬λ¬ 컬λ¬μ μμ μ΅λν λ§μΆλ κ³Όμ μ΄λ€.κ·Έλν½ λμμ΄λμ μμ±κ³΅κ° μμμ νλμ μΈκΈ°κ° μλ λ€λ₯Έ ν½μ μΈκΈ°λ‘ ꡬμ±λκΈ° λλ¬Έμ λμμ΄ λ§μ κ²μ²λΌ λ€μ κ±°μΉ κ² λ³΄μΌ μ μλ€ μμ¦ μ μμ°μ ^_^ def minmax(pixel): if pixel > 255: pixel = 255 if pixel < 0: pixel = 0 return pixel import numpy as np def dithering(img): height, width = img.shape for y in range(0, height-1): for x in range(1, width-1): p = img[y, x] new_p..

π threshold λ‘ binary, tozero λ± flag μ§μ νκΈ° import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('images/gradation.png',0) ret, thresh1 = cv2.threshold(img,127,255, cv2.THRESH_BINARY) ret, thresh2 = cv2.threshold(img,127,255, cv2.THRESH_BINARY_INV) ret, thresh3 = cv2.threshold(img,127,255, cv2.THRESH_TRUNC) ret, thresh4 = cv2.threshold(img,127,255, cv2.THRESH_TOZERO) ..

π threshold λ‘ tone μ‘°μ νκΈ° import numpy as np def two_tone(img, threshold=128): output = (img > threshold) * 255 return output.astype(np.uint8) import cv2 img = cv2.imread("images/lena.jpg", 0) # 100 μ΄νλ©΄ 0 black, 100 μ΄μμ΄λ©΄ 255 white new_img = two_tone(img, threshold=100) cv2.imwrite('lena_bin.jpg', new_img) cv2.imshow('img', new_img) cv2.waitKey(0) cv2.destroyAllWindows() π threshold λ‘ μ€μκ° webcam to..

π NORMAL & MIXED import cv2 import numpy as np # νλ ¬ (μ μ 보 b g r) logo = cv2.imread('images/logo.png') lena = cv2.imread('images/lena.jpg') mask = np.full_like(logo, 255) height, width = lena.shape[:2] center = (width//2, height//2) # μμ€ μ΄λ―Έμ§, destination, 볡μ μ£Όλ³ mask, center μ΄λ―Έμ§, flag normal = cv2.seamlessClone(logo, lena, mask, center, cv2.NORMAL_CLONE) # λΈλ¬μ²λ¦¬ mixed = cv2.seamlessClone(logo, lena..

λ¬Έλ ꡬ쑰체 μμ μλ λ©€λ²λ³μ, λ©€λ²ν¨μμ μ΄λ¦μ μΆλ ₯ν μλ μμκΉ? μκ°μ΄ λ€μλ€ κ·Έλ°λ° C# μ΄λ°λ°λ reflection μ΄ μ£Όμ΄μ§λ€κ³ νλ€ C++ μλ boost λΌμ΄λΈλ¬λ¦¬λ‘ μ κ·Όμ΄ κ°λ₯νλ€κ³ νλλ° ... κ³Όμ°? β boost λΌμ΄λΈλ¬λ¦¬ λ€μ΄νκΈ° https://www.boost.org/users/history/version_1_84_0.html Version 1.84.0 Version 1.84.0 December 13th, 2023 23:54 GMT Documentation DownloadsPlatformFileSHA256 Hash unixboost_1_84_0.tar.bz2cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454boo..

π μμ ν μ§νμ² π© BSS (Best Safety Subway) λΉμ¦λμ€ μ§μ μμ€ν BSS (Business Support System) : ν΅μ μ‘°μ§μ΄ λͺ¨λ κ³ κ° λλ©΄ νλμ κ΄λ¦¬νκ³ κ°μννλ λ° λμμ΄ λλ λ€μν μννΈμ¨μ΄ νλ‘κ·Έλ¨ μμ νκ³ κΉ¨λν μ§νμ² νμΉ λ° μ΄ν ~ ! π© μΆμ§ λ°°κ²½ λ° νμμ± μμ΄ λ° μ¬κ³ λΉλ²νκ² μΌμ΄λ¨ μ€ν¬λ¦° λμ΄ κ³ μ₯ λ¬Έμ μΆν΄κ·Ό μμ¬ μ¬κ³ μν λμ κ°μ μ μΌλ‘ μ΄μ°ννμ κ³Όν¬ν μκ°νλ‘ “μν” μμ μ λ¬ π© μλΉμ€ λ΄μ© Staion μ§νμ² μ μ§νμ² κΈ°κ΄μ¬μκ² μκΈ μν© λ° λ°©ν΄λ¬Ό κ°μ§ μ리기 MQTT ν΅μ μΌλ‘ μλ¦Ό λͺ λ² μΆμ λ¬ΈμΈμ§ μλ¦Ό μ΄λ‘μ λ Έλμ λΉ¨κ°μμΌλ‘ κ½ μ°¨μμΌλ©΄ μ΄μ°ννμ κ³Όν¬νλ‘, μ¬λλ€μ΄ 무μμμ μ ν κ²μ μ μ°¨μμ μ΄μν λΌμ΄λ μΌμλ‘ λ°©..