<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>수업량 유연화 by 남안준우</title>
      <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj</link>
      <description>아이디어를 공유하고 다른 사람들에게 댓글을 달아주세요!</description>
      <language>en-us</language>
      <pubDate>2025-07-16 05:06:27 UTC</pubDate>
      <lastBuildDate>2025-07-17 04:28:36 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f9e0.png</url>
      </image>
      <item>
         <title></title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3520935356</link>
         <description><![CDATA[<p>import cv2</p><p> </p><p>cam = cv2.VideoCapture(0)</p><p>cam.set(3,1280) </p><p>cam.set(4,720) </p><p> </p><p>while True:</p><p>    ret_val, img = <a rel="noopener noreferrer nofollow" href="http://cam.read">cam.read</a>() </p><p> </p><p>    cv2.imshow("Cam Viewer",img) </p><p>    if cv2.waitKey(1) == 27:</p><p>        break </p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 05:10:22 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3520935356</guid>
      </item>
      <item>
         <title></title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3520978089</link>
         <description><![CDATA[<p>https://stickode.tistory.com/799</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 05:50:52 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3520978089</guid>
      </item>
      <item>
         <title></title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3520997060</link>
         <description><![CDATA[<p>import cv2</p><p>cap = cv2.VideoCapture(0)</p><p>while (cap.isOpened()):</p><p>  ret,img = <a rel="noopener noreferrer nofollow" href="http://cap.read">cap.read</a>()</p><p>  cv2.imshow('my win',img)</p><p>  img_canny = cv2.Canny(img, 30, 70)</p><p>  cv2.imshow('canny',img_canny)</p><p>  if cv2.waitKey(1) &amp; 0xFF == ord('q'):</p><p>    break</p><p>cap.release()</p><p>cv2.destroyAllWindows()</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 06:11:23 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3520997060</guid>
      </item>
      <item>
         <title>import cv2</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521002931</link>
         <description><![CDATA[<p>import numpy as np</p><p><br/></p><p># 비디오 캡처 객체 생성 (웹캠 또는 동영상 파일)</p><p>cap = cv2.VideoCapture(0)  # 0은 기본 웹캠, 파일 경로를 넣으면 영상 파일 사용 가능</p><p><br/></p><p>while cap.isOpened():</p><p>    ret, frame = cap.read()</p><p>    if not ret:</p><p>        break</p><p><br/></p><p>    # 그레이스케일 변환</p><p>    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)</p><p><br/></p><p>    # 엣지 검출 (Canny)</p><p>    edges = cv2.Canny(gray, 50, 150, apertureSize=3)</p><p><br/></p><p>    # 허프 변환을 이용한 직선 검출</p><p>    lines = cv2.HoughLines(edges, 1, np.pi / 180, 150)</p><p><br/></p><p>    if lines is not None:</p><p>        for line in lines:</p><p>            rho, theta = line[0]</p><p>            a = np.cos(theta)</p><p>            b = np.sin(theta)</p><p>            x0 = a * rho</p><p>            y0 = b * rho</p><p>            x1 = int(x0 + 1000 * (-b))</p><p>            y1 = int(y0 + 1000 * (a))</p><p>            x2 = int(x0 - 1000 * (-b))</p><p>            y2 = int(y0 - 1000 * (a))</p><p>            cv2.line(frame, (x1, y1), (x2, y2), (0, 0, 255), 2)</p><p><br/></p><p>    # 결과 프레임 출력</p><p>    cv2.imshow('Hough Line Detection', frame)</p><p><br/></p><p>    # ESC 키를 누르면 종료</p><p>    if cv2.waitKey(1) &amp; 0xFF == 27:</p><p>        break</p><p><br/></p><p># 리소스 해제</p><p>cap.release()</p><p>cv2.destroyAllWindows()</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-16 06:18:22 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521002931</guid>
      </item>
      <item>
         <title>자율주행차</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521061620</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/2426414889/ca0b04dca8a40cdd0310a0eb2163ee31/_____ppt.pptx" />
         <pubDate>2025-07-16 07:19:25 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521061620</guid>
      </item>
      <item>
         <title>openCV</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521062102</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/2426414889/173d7a492cd8eb92743084fd223a7c17/________openCV__ppt.pptx" />
         <pubDate>2025-07-16 07:20:06 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521062102</guid>
      </item>
      <item>
         <title>딥러닝</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521062488</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads-usc1.storage.googleapis.com/2426414889/f33b060bce59a56f29ee2a802b370bd4/________________.pptx" />
         <pubDate>2025-07-16 07:20:35 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521062488</guid>
      </item>
      <item>
         <title>https://padlet.com/nanjunu</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521634038</link>
         <description><![CDATA[<p>참여하세요</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-17 00:37:47 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521634038</guid>
      </item>
      <item>
         <title>노란색 색 인식</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521762192</link>
         <description><![CDATA[<p>import cv2</p><p>import numpy as np</p><p># numpy 배열로 hsv 형식의 색 범위를 정해줍니다.</p><p># 노란색으로 범위를 정해주었습니다.</p><p>lower = np.array([15, 150, 20])</p><p>upper = np.array([35, 255, 255])</p><p># 카메라를 연결합니다.</p><p>webcam_video = cv2.VideoCapture(0)</p><p>while True:</p><p>    # 카메라의 프레임을 읽고 가져옵니다.</p><p>    success, video = webcam_<a rel="noopener noreferrer nofollow" href="http://video.read">video.read</a>()</p><p>   </p><p>      # RGB 형식의 카메라 프레임을 HSV 형식으로 변환합니다.</p><p>    img = cv2.cvtColor(video, cv2.COLOR_BGR2HSV) </p><p>    </p><p>    # 정한 범위 내의 색을 표시해줍니다.</p><p>    mask = cv2.inRange(img, lower, upper) </p><p>    </p><p>    # 표시된 것에서 윤곽선을 찾습니다.</p><p>    mask_contours, hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) </p><p>    </p><p>    # 모든 윤곽선의 위치를 찾습니다.</p><p>    if len(mask_contours) != 0:</p><p>        for mask_contour in mask_contours:</p><p>            if cv2.contourArea(mask_contour) &gt; 500:</p><p>                x, y, w, h = cv2.boundingRect(mask_contour)</p><p>                # 사각형을 그려줍니다.</p><p>                cv2.rectangle(video, (x, y), (x + w, y + h), (0, 0, 255), 3) </p><p>                </p><p>    </p><p>    cv2.imshow("mask image", mask)</p><p>    cv2.imshow("window", video)</p><p>    </p><p>    # ESC 키를 누르면 프로그램이 종료됩니다.</p><p>    if cv2.waitKey(1) &amp; 0xFF == 27:</p><p>        break</p><p>webcam_video.release()</p><p>cv2.destroyAllWindows()</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-17 01:57:36 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521762192</guid>
      </item>
      <item>
         <title>신호등 색 인식 2</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521786267</link>
         <description><![CDATA[<p>import cv2</p><p>import numpy as np</p><p># 빨간색 HSV 범위 (두 구간)</p><p>red_lower1 = np.array([0, 100, 100])</p><p>red_upper1 = np.array([10, 255, 255])</p><p>red_lower2 = np.array([160, 100, 100])</p><p>red_upper2 = np.array([179, 255, 255])</p><p># 파란색 HSV 범위</p><p>blue_lower = np.array([100, 150, 50])</p><p>blue_upper = np.array([130, 255, 255])</p><p># 카메라 연결</p><p>webcam_video = cv2.VideoCapture(0)</p><p>while True:</p><p>    success, frame = webcam_<a rel="noopener noreferrer nofollow" href="http://video.read">video.read</a>()</p><p>    if not success:</p><p>        break</p><p>    # HSV 변환</p><p>    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)</p><p>    # 빨간색 마스크</p><p>    red_mask1 = cv2.inRange(hsv, red_lower1, red_upper1)</p><p>    red_mask2 = cv2.inRange(hsv, red_lower2, red_upper2)</p><p>    red_mask = cv2.bitwise_or(red_mask1, red_mask2)</p><p>    # 파란색 마스크</p><p>    blue_mask = cv2.inRange(hsv, blue_lower, blue_upper)</p><p>    # 윤곽선 처리 함수</p><p>    def draw_contours_with_label(mask, color_bgr, label):</p><p>        contours, <em> = cv2.findContours(mask, cv2.RETR</em>EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)</p><p>        for contour in contours:</p><p>            if cv2.contourArea(contour) &gt; 500:</p><p>                x, y, w, h = cv2.boundingRect(contour)</p><p>                # 사각형 그리기</p><p>                cv2.rectangle(frame, (x, y), (x + w, y + h), color_bgr, 2)</p><p>                # 사각형 왼쪽 위에 텍스트 표시</p><p>                cv2.putText(frame, label, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color_bgr, 2)</p><p>    # 색상별로 처리</p><p>    draw_contours_with_label(red_mask, (0, 0, 255), "red light")     # 빨간색</p><p>    draw_contours_with_label(blue_mask, (255, 0, 0), "blue light")   # 파란색</p><p>    # 병합된 마스크 (보기용)</p><p>    combined_mask = cv2.bitwise_or(red_mask, blue_mask)</p><p>    # 출력</p><p>    cv2.imshow("mask image", combined_mask)</p><p>    cv2.imshow("window", frame)</p><p>    # ESC 누르면 종료</p><p>    if cv2.waitKey(1) &amp; 0xFF == 27:</p><p>        break</p><p>webcam_video.release()</p><p>cv2.destroyAllWindows()</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-17 02:10:21 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521786267</guid>
      </item>
      <item>
         <title>아두이노 자율주행차 코딩</title>
         <author>nanjunu</author>
         <link>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521976622</link>
         <description><![CDATA[<p>int wlf = 9, wlb = 10;</p><p>int wrf = 6, wrb = 5;</p><p>int trig = 2, echo = 3;</p><p>void setup() {</p><p>  // put your setup code here, to run once:</p><p>  Serial.begin(9600);</p><p>  pinMode(trig, OUTPUT);</p><p>  pinMode(echo, OUTPUT);</p><p>  pinMode(wlf, OUTPUT);</p><p>  pinMode(wlb, OUTPUT);</p><p>  pinMode(wrf, OUTPUT);</p><p>  pinMode(wrb, OUTPUT);</p><p>  </p><p>}</p><p>void loop() {</p><p>  // put your main code here, to run repeatedly:</p><p>  float distance, duration;</p><p>  digitalWrite(trig, HIGH);</p><p>  delay(1);</p><p>  digitalWrite(trig, LOW);</p><p>  duration = pulseIn(echo, HIGH);</p><p>  distance = ((float)(340*duration)/10000)/2;</p><p>  if(distance &gt; 15) {</p><p>    analogWrite(wlf,180);</p><p>    analogWrite(wlb,0);</p><p>    analogWrite(wrf, 180);</p><p>    analogWrite(wrb, 0);</p><p>  }else{</p><p>    int rd = random(2);</p><p>    int delayrd = random(200, 500);</p><p>    if(rd == 1){</p><p>      analogWrite(wlf, 0);</p><p>      analogWrite(wlb, 150);</p><p>      analogWrite(wrf, 180);</p><p>      analogWrite(wrb, 0);</p><p>    }else{</p><p>      analogWrite(wlf, 150);</p><p>      analogWrite(wlb, 0);</p><p>      analogWrite(wrf, 0);</p><p>      analogWrite(wrb, 180);</p><p>    }</p><p>    delay(delayrd);</p><p>  }</p><p>}</p>]]></description>
         <enclosure url="" />
         <pubDate>2025-07-17 04:28:35 UTC</pubDate>
         <guid>https://padlet.com/nanjunu/k89rs47lv6hlovyj/wish/3521976622</guid>
      </item>
   </channel>
</rss>
