<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>RoBoLoG</title>
    <link>https://ks-jun.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 31 May 2026 19:51:04 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>SKJun</managingEditor>
    <image>
      <title>RoBoLoG</title>
      <url>https://tistory1.daumcdn.net/tistory/5792826/attach/2207bef96f1f4c9ba2059f326bdd82e1</url>
      <link>https://ks-jun.tistory.com</link>
    </image>
    <item>
      <title>[Error] OSError: /usr/lib64/librknnrt.so: cannot open shared object file: No such file or directory</title>
      <link>https://ks-jun.tistory.com/217</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TlgzI/btsLGcUYlEZ/wFNbUqzXN1YvafURXeNVtk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TlgzI/btsLGcUYlEZ/wFNbUqzXN1YvafURXeNVtk/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TlgzI/btsLGcUYlEZ/wFNbUqzXN1YvafURXeNVtk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTlgzI%2FbtsLGcUYlEZ%2FwFNbUqzXN1YvafURXeNVtk%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;RKNN Toolkit2&lt;/b&gt;를 설정하는 과정에서 아래와 같은 오류 메시지를 만날 수 있습니다:&lt;/p&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1736303403621&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;OSError: /usr/lib64/librknnrt.so: cannot open shared object file: No such file or directory&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 오류는 &lt;b&gt;librknnrt.so&lt;/b&gt; 파일이 시스템의 표준 라이브러리 경로에 없거나, &lt;b&gt;환경 변수&lt;/b&gt;가 제대로 설정되지 않았기 때문에 발생합니다. 이번 글에서는 이 문제를 해결하는 방법을 설명합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;오류 원인&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;librknnrt.so는 &lt;b&gt;RKNN 런타임 라이브러리&lt;/b&gt;로, Rockchip NPU에서 모델을 실행하기 위해 필수적인 파일입니다. 이 파일이 &lt;b&gt;/usr/lib64&lt;/b&gt; 경로에 없거나, 환경 변수에 추가되지 않으면 프로그램이 런타임에서 라이브러리를 로드할 수 없어 위와 같은 오류가 발생합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;해결 방법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. RKNN Toolkit2 다운로드&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 &lt;b&gt;RKNN Toolkit2&lt;/b&gt;를 Rockchip의 공식 GitHub에서 다운로드해야 합니다.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1736303469791&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;git clone https://github.com/airockchip/rknn-toolkit2.git&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명령어를 실행하면 &lt;b&gt;rknn-toolkit2&lt;/b&gt; 폴더가 생성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. librknnrt.so 파일 복사&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;librknnrt.so 파일은 &lt;b&gt;rknn-toolkit2&lt;/b&gt; 내부에 존재합니다. 아래 명령어로 해당 파일을 시스템 라이브러리 경로로 복사합니다:&lt;/p&gt;
&lt;pre id=&quot;code_1736303318020&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo cp rknn-toolkit2/rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so /usr/lib64&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Tip&lt;/b&gt;: 파일 경로를 복사하기 전에 find 명령어로 &lt;b&gt;librknnrt.so&lt;/b&gt; 위치를 확인할 수 있습니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1736303501435&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;find rknn-toolkit2 -name &quot;librknnrt.so&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. 환경 변수 설정 (선택 사항)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라이브러리를 복사하는 대신 &lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt; 환경 변수를 설정해도 됩니다. 다음 명령어를 사용하세요:&lt;/p&gt;
&lt;pre id=&quot;code_1736303533557&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;export LD_LIBRARY_PATH=/path/to/rknn-toolkit2/rknpu2/runtime/Linux/aarch64:$LD_LIBRARY_PATH&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 설정을 영구 적용하려면 &lt;b&gt;~/.bashrc&lt;/b&gt; 파일에 추가합니다:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1736303548706&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;echo 'export LD_LIBRARY_PATH=/path/to/rknn-toolkit2/rknpu2/runtime/Linux/aarch64:$LD_LIBRARY_PATH' &amp;gt;&amp;gt; ~/.bashrc
source ~/.bashrc&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;마무리&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 &lt;b&gt;librknnrt.so&lt;/b&gt; 관련 오류가 해결되어 RKNN Toolkit2를 정상적으로 사용할 수 있습니다. 이 글이 도움이 되셨길 바랍니다. 추가적인 질문이 있다면 댓글로 남겨주세요!  &lt;/p&gt;</description>
      <category>Error Solution/Etc</category>
      <category>/usr/lib64/librknnrt.so</category>
      <category>cannot open shared object file: no such file or directory</category>
      <category>error</category>
      <category>RKNN</category>
      <category>Rockchip</category>
      <category>toolkit</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/217</guid>
      <comments>https://ks-jun.tistory.com/217#entry217comment</comments>
      <pubDate>Wed, 8 Jan 2025 18:33:35 +0900</pubDate>
    </item>
    <item>
      <title>[ERROR] Could not install packages due to an OSError: [Errno 28] No space left on device</title>
      <link>https://ks-jun.tistory.com/216</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSjGgQ/btsLFajnqxG/j6ofxn31Dh2BbbN88UCtx0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSjGgQ/btsLFajnqxG/j6ofxn31Dh2BbbN88UCtx0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSjGgQ/btsLFajnqxG/j6ofxn31Dh2BbbN88UCtx0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSjGgQ%2FbtsLFajnqxG%2Fj6ofxn31Dh2BbbN88UCtx0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;오류 메시지 No space left on device는 디스크 공간 부족으로 인해 패키지 설치가 실패한 상황을 나타냅니다. 이를 해결하려면 다음 단계를 따라 디스크 공간을 확보하세요!&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 디스크 사용량 확인&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 디스크 사용량을 확인하려면 다음 명령어를 실행하세요:&lt;/p&gt;
&lt;pre id=&quot;code_1736246323419&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;df -h&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명령어는 각 파일 시스템의 사용 가능한 공간을 보여줍니다. Use%가 100%인 파티션이 문제의 원인일 가능성이 높습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 불필요한 파일 삭제&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디스크 공간을 확보하려면 불필요한 파일을 삭제해야 합니다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;캐시 파일 삭제&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1736246344415&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get clean&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;pip 캐시 삭제&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1736246357711&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pip cache purge&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;오래된 로그 파일 삭제&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1736246364888&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo journalctl --vacuum-time=7d&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;다운로드 폴더 정리&lt;/b&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1736246381353&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;rm -rf ~/Downloads/*&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. &lt;b&gt;큰 파일 검색 및 삭제&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;큰 파일을 찾아 삭제하면 공간을 더 확보할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1736246394551&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;du -ah / | sort -rh | head -n 20&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명령어는 가장 큰 20개의 파일과 디렉토리를 표시합니다. 필요 없는 큰 파일을 삭제하세요.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &lt;b&gt;불필요한 패키지 제거&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용하지 않는 패키지와 의존성을 제거합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1736246408408&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo apt-get autoremove
sudo apt-get autoclean&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. &lt;b&gt;/tmp 폴더 정리&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일시 파일이 쌓여 공간을 차지할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1736246419860&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;sudo rm -rf /tmp/*&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. &lt;b&gt;Docker 사용 중이라면&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Docker 이미지와 컨테이너가 디스크를 차지할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1736246430541&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;docker system prune -a&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Error Solution/Etc</category>
      <category>could not install packages</category>
      <category>no space left on device</category>
      <category>OS error</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/216</guid>
      <comments>https://ks-jun.tistory.com/216#entry216comment</comments>
      <pubDate>Tue, 7 Jan 2025 19:42:59 +0900</pubDate>
    </item>
    <item>
      <title>[AI 아트] 겨울에 군고구마를 먹는 커플</title>
      <link>https://ks-jun.tistory.com/215</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000; letter-spacing: 0px;&quot;&gt;A couple enjoying roasted sweet potatoes in winter.&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-state=&quot;closed&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zbCYq/btsKWU8E0Tw/9Qr1BJSNCbfyDrKklz7kx0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zbCYq/btsKWU8E0Tw/9Qr1BJSNCbfyDrKklz7kx0/img.webp&quot; data-alt=&quot;&amp;quot;별이 빛나는 밤에&amp;quot; 스타일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zbCYq/btsKWU8E0Tw/9Qr1BJSNCbfyDrKklz7kx0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzbCYq%2FbtsKWU8E0Tw%2F9Qr1BJSNCbfyDrKklz7kx0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;&quot;별이 빛나는 밤에&quot; 스타일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/KxjEY/btsKX4P9ana/qmkC0TsUtWIjizSHEsfEF0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/KxjEY/btsKX4P9ana/qmkC0TsUtWIjizSHEsfEF0/img.webp&quot; data-alt=&quot;라인 일러스트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/KxjEY/btsKX4P9ana/qmkC0TsUtWIjizSHEsfEF0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKxjEY%2FbtsKX4P9ana%2FqmkC0TsUtWIjizSHEsfEF0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;라인 일러스트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCLQ75/btsKXA9IM1H/91ERzxRWkUa7pCtZRKVNQ1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCLQ75/btsKXA9IM1H/91ERzxRWkUa7pCtZRKVNQ1/img.webp&quot; data-alt=&quot;인상파 스타일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCLQ75/btsKXA9IM1H/91ERzxRWkUa7pCtZRKVNQ1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCLQ75%2FbtsKXA9IM1H%2F91ERzxRWkUa7pCtZRKVNQ1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;인상파 스타일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZM9Vr/btsKVJz69sF/U0N24ZFniE1UH90qD2P4w1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZM9Vr/btsKVJz69sF/U0N24ZFniE1UH90qD2P4w1/img.webp&quot; data-alt=&quot;극사실주의 스타일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZM9Vr/btsKVJz69sF/U0N24ZFniE1UH90qD2P4w1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZM9Vr%2FbtsKVJz69sF%2FU0N24ZFniE1UH90qD2P4w1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;극사실주의 스타일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bntDYd/btsKV8Nmgrx/6EZKxpvI4z8KzNmQALITTk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bntDYd/btsKV8Nmgrx/6EZKxpvI4z8KzNmQALITTk/img.webp&quot; data-alt=&quot;팝아트 스타일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bntDYd/btsKV8Nmgrx/6EZKxpvI4z8KzNmQALITTk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbntDYd%2FbtsKV8Nmgrx%2F6EZKxpvI4z8KzNmQALITTk%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;팝아트 스타일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKxXKC/btsKX0mLjSm/sk6QBoVQrfbaRSMolbBDk1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKxXKC/btsKX0mLjSm/sk6QBoVQrfbaRSMolbBDk1/img.webp&quot; data-alt=&quot;종이 콜라주 스타일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKxXKC/btsKX0mLjSm/sk6QBoVQrfbaRSMolbBDk1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKxXKC%2FbtsKX0mLjSm%2Fsk6QBoVQrfbaRSMolbBDk1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;종이 콜라주 스타일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bm0IlL/btsKX16XknI/F4SVBCAMi1XFJKPtK52WO0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bm0IlL/btsKX16XknI/F4SVBCAMi1XFJKPtK52WO0/img.webp&quot; data-alt=&quot;픽셀 아트 스타일&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bm0IlL/btsKX16XknI/F4SVBCAMi1XFJKPtK52WO0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm0IlL%2FbtsKX16XknI%2FF4SVBCAMi1XFJKPtK52WO0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;픽셀 아트 스타일&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>인공지능 놀이터/AI 아트</category>
      <category>ai아트</category>
      <category>ChatGPT</category>
      <category>겨울</category>
      <category>군고구마</category>
      <category>오블완</category>
      <category>커플</category>
      <category>티스토리챌린지</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/215</guid>
      <comments>https://ks-jun.tistory.com/215#entry215comment</comments>
      <pubDate>Tue, 26 Nov 2024 18:49:08 +0900</pubDate>
    </item>
    <item>
      <title>[AI 아트] 예술 작품의 느낌을 그림에 전달하기</title>
      <link>https://ks-jun.tistory.com/214</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Style Transfer로 새로운 예술을 창조하다&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsJr9c/btsKMHudSU0/irwVMh27AQxaSqZIvHTLB1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsJr9c/btsKMHudSU0/irwVMh27AQxaSqZIvHTLB1/img.webp&quot; data-alt=&quot;ChatGPT로 그린 &amp;quot;별이 빛나는 밤&amp;quot; 스타일의 &amp;quot;호수에서 낚시하는 남자&amp;quot;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsJr9c/btsKMHudSU0/irwVMh27AQxaSqZIvHTLB1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsJr9c%2FbtsKMHudSU0%2FirwVMh27AQxaSqZIvHTLB1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ChatGPT로 그린 &quot;별이 빛나는 밤&quot; 스타일의 &quot;호수에서 낚시하는 남자&quot;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 딥러닝 기술의 발전으로, 예술과 기술의 경계가 점점 사라지고 있습니다. 그 중 하나의 대표적인 사례가 바로 &lt;b&gt;Style Transfer&lt;/b&gt;입니다. Style Transfer는 특정 이미지의 콘텐츠를 유지하면서, 다른 이미지의 스타일을 적용하여 전혀 새로운 느낌의 이미지를 생성하는 기술입니다. 이번 글에서는 빈센트 반 고흐의 별이 빛나는 밤 스타일을 활용하여, 호수에서 낚시를 즐기는 남자를 주제로 그림을 만들어 본 과정을 공유합니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Style Transfer란 무엇인가?&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Style Transfer는 딥러닝의 한 분야인 &lt;b&gt;Generative Adversarial Networks (GANs)&lt;/b&gt; 또는 &lt;b&gt;Convolutional Neural Networks (CNNs)&lt;/b&gt; 기술을 활용합니다. 이 기술은 두 개의 이미지를 조합하여 새로운 이미지를 생성하는데, 하나는 주제나 형태를 나타내는 &lt;b&gt;콘텐츠 이미지&lt;/b&gt;이고, 다른 하나는 예술적 표현을 담고 있는 &lt;b&gt;스타일 이미지&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;콘텐츠 이미지:&lt;/b&gt; 호수에서 낚시를 하는 남자&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스타일 이미지:&lt;/b&gt; 빈센트 반 고흐의 별이 빛나는 밤&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과물은 낚시하는 남자의 장면은 유지하면서도, 빈센트 반 고흐 특유의 역동적이고 표현적인 붓터치와 색감이 살아 있는 그림이 됩니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;그림 생성 과정&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;주제 선정:&lt;/b&gt; 호수에서 낚시를 즐기는 평화로운 장면을 선택했습니다. 이 주제는 자연의 고요함과 인간의 여유를 담고 있어, 예술적 스타일과 잘 어울릴 것으로 판단했습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스타일 이미지 선택:&lt;/b&gt; 빈센트 반 고흐의 별이 빛나는 밤은 강렬한 색채와 역동적인 붓터치로 잘 알려져 있습니다. 이 스타일은 낚시 장면의 고요함과 대조를 이루며 특별한 분위기를 만들어낼 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Style Transfer 도구 사용:&lt;/b&gt; AI 기반 이미지 생성 도구를 활용하여 콘텐츠 이미지와 스타일 이미지를 결합했습니다. 생성된 이미지는 다음과 같은 특징을 가지고 있습니다:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;밤하늘에는 반 고흐 특유의 소용돌이치는 별빛과 달빛이 그려져 있습니다.&lt;/li&gt;
&lt;li&gt;물결은 다채로운 색채와 부드러운 붓터치로 표현되었습니다.&lt;/li&gt;
&lt;li&gt;낚시하는 남자와 배는 고유의 형태를 유지하며, 예술적인 감각이 더해졌습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;프롬프트&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같은 형식으로 프롬프트를 ChatGPT에 입력하면 그림이 생성됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;Style Transfer를 이용해서 그림을 생성해줘. 1. 주제:&amp;nbsp; 2. 스타일: 화풍(예: )&quot;&lt;/b&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;생성된 결과물&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래는 Style Transfer 기술로 생성된 최종 이미지입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;입력 Prompt: &quot;Style Transfer를 이용해서 그림을 생성해줘. 1. 주제: 호수에서 낚시를 하는 남자 2. 스타일: 인상주의 (예: 빈센트 반 고흐의 별이 빛나는 밤)&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsJr9c/btsKMHudSU0/irwVMh27AQxaSqZIvHTLB1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsJr9c/btsKMHudSU0/irwVMh27AQxaSqZIvHTLB1/img.webp&quot; data-alt=&quot;ChatGPT로 그린 &amp;quot;별이 빛나는 밤&amp;quot; 스타일의 &amp;quot;호수에서 낚시하는 남자&amp;quot;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsJr9c/btsKMHudSU0/irwVMh27AQxaSqZIvHTLB1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsJr9c%2FbtsKMHudSU0%2FirwVMh27AQxaSqZIvHTLB1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;ChatGPT로 그린 &quot;별이 빛나는 밤&quot; 스타일의 &quot;호수에서 낚시하는 남자&quot;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 그림은 단순히 AI 기술의 결과물이 아닙니다. 콘텐츠와 스타일의 결합을 통해 기술과 예술이 융합된 새로운 창조물이라 할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 외에 다양한 예시를 준비해보았습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;입력 Prompt:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&quot;Style Transfer를 이용해서 그림을 생성해줘. 1. 주제: 사막에서 오아시스를 발견한 낙타와 여행자 2. 스타일: 인상파 스타일&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E20yA/btsKM01kkze/jAIKKkCcI1JkOiGD479vpk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E20yA/btsKM01kkze/jAIKKkCcI1JkOiGD479vpk/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E20yA/btsKM01kkze/jAIKKkCcI1JkOiGD479vpk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE20yA%2FbtsKM01kkze%2FjAIKKkCcI1JkOiGD479vpk%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;입력 Prompt: &quot;Style Transfer를 이용해서 그림을 생성해줘. 1. 주제: 쥬라기 공원의 공룡 2. 스타일: 이중섭 화풍 (예: 황소)&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cQzB8y/btsKM0UENo4/LrGTK2GyxgTPsHCswr42Z1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cQzB8y/btsKM0UENo4/LrGTK2GyxgTPsHCswr42Z1/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cQzB8y/btsKM0UENo4/LrGTK2GyxgTPsHCswr42Z1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQzB8y%2FbtsKM0UENo4%2FLrGTK2GyxgTPsHCswr42Z1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;입력 Prompt:&lt;span&gt; &quot;Style Transfer를 이용해서 그림을 생성해줘. 1. 주제: 퇴근 길 교통 혼잡 2. 스타일: 표현주의 (예: 뭉크의 절규)&quot;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Evas/btsKMkGlijk/hAkc35yK7JdvMjksKTPrA1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Evas/btsKMkGlijk/hAkc35yK7JdvMjksKTPrA1/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Evas/btsKMkGlijk/hAkc35yK7JdvMjksKTPrA1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Evas%2FbtsKMkGlijk%2FhAkc35yK7JdvMjksKTPrA1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;입력 Prompt:&lt;span&gt;&lt;span&gt; &quot;Style Transfer를 이용해서 그림을 생성해줘. &lt;/span&gt;&lt;/span&gt;1. 주제: 파도 위에서 서핑을 즐기는 사람 2. 스타일: 후지산을 배경으로 한 가쓰시카 호쿠사이의 목판화&quot;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blr6Ao/btsKLgkm4pG/dnuDNNK0POkG725lQv7qpK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blr6Ao/btsKLgkm4pG/dnuDNNK0POkG725lQv7qpK/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blr6Ao/btsKLgkm4pG/dnuDNNK0POkG725lQv7qpK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fblr6Ao%2FbtsKLgkm4pG%2FdnuDNNK0POkG725lQv7qpK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Style Transfer 활용 사례&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;개인 프로젝트:&lt;/b&gt; 사진을 예술 작품으로 변환하여 독특한 벽 장식으로 활용.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;디자인:&lt;/b&gt; 브랜드 로고나 콘텐츠에 예술적 요소를 추가.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;교육:&lt;/b&gt; 예술사와 기술 융합 사례를 통해 창의력을 자극.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;결론&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Style Transfer는 기술과 예술이 만나는 흥미로운 접점입니다. 이번 작업을 통해 평범한 장면도 예술적 영감을 통해 새롭게 태어날 수 있다는 점을 확인할 수 있었습니다. 여러분도 자신만의 주제와 스타일을 선택해 새로운 이미지를 만들어 보세요. AI와 함께하는 창작의 즐거움은 무한합니다!&lt;/p&gt;</description>
      <category>인공지능 놀이터/AI 아트</category>
      <category>AI 아트</category>
      <category>ChatGPT</category>
      <category>그림 생성</category>
      <category>예술</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <category>프롬프트</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/214</guid>
      <comments>https://ks-jun.tistory.com/214#entry214comment</comments>
      <pubDate>Mon, 18 Nov 2024 09:48:26 +0900</pubDate>
    </item>
    <item>
      <title>[AI 아트] 가을 단풍놀이를 즐기는 가족</title>
      <link>https://ks-jun.tistory.com/213</link>
      <description>&lt;div&gt;
&lt;div data-message-model-slug=&quot;gpt-4o&quot; data-message-id=&quot;211190be-b713-4088-b62b-c5d9a1082a46&quot; data-message-author-role=&quot;assistant&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[AI Art] Family Enjoying Autumn Foliage&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTe3hs/btsKKxksFCe/hnvUykW8hXQ6nBUweLsfQ0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTe3hs/btsKKxksFCe/hnvUykW8hXQ6nBUweLsfQ0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTe3hs/btsKKxksFCe/hnvUykW8hXQ6nBUweLsfQ0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTe3hs%2FbtsKKxksFCe%2FhnvUykW8hXQ6nBUweLsfQ0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0D9w8/btsKKNN8yD7/P1kyXexmd33rGizphPkDq1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0D9w8/btsKKNN8yD7/P1kyXexmd33rGizphPkDq1/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0D9w8/btsKKNN8yD7/P1kyXexmd33rGizphPkDq1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0D9w8%2FbtsKKNN8yD7%2FP1kyXexmd33rGizphPkDq1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfFFER/btsKKqTgr0t/hXr6kfgOuAw4BATPinP8r1/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfFFER/btsKKqTgr0t/hXr6kfgOuAw4BATPinP8r1/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfFFER/btsKKqTgr0t/hXr6kfgOuAw4BATPinP8r1/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfFFER%2FbtsKKqTgr0t%2FhXr6kfgOuAw4BATPinP8r1%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1792&quot; height=&quot;1024&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nhSAl/btsKJOtysKL/NmsIqLJX97kmflILXy74kk/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nhSAl/btsKJOtysKL/NmsIqLJX97kmflILXy74kk/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nhSAl/btsKJOtysKL/NmsIqLJX97kmflILXy74kk/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnhSAl%2FbtsKJOtysKL%2FNmsIqLJX97kmflILXy74kk%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1792&quot; height=&quot;1024&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bWgZl4/btsKJ7zD9eF/kggX4ex81LuY1S79Hc6oGK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bWgZl4/btsKJ7zD9eF/kggX4ex81LuY1S79Hc6oGK/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bWgZl4/btsKJ7zD9eF/kggX4ex81LuY1S79Hc6oGK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWgZl4%2FbtsKJ7zD9eF%2FkggX4ex81LuY1S79Hc6oGK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1792&quot; height=&quot;1024&quot; data-origin-width=&quot;1792&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>인공지능 놀이터/AI 아트</category>
      <category>ChatGPT</category>
      <category>가을 단풍놀이를 즐기는 가족</category>
      <category>가족</category>
      <category>그림</category>
      <category>단풍놀이</category>
      <category>오블완</category>
      <category>일러스트</category>
      <category>티스토리챌린지</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/213</guid>
      <comments>https://ks-jun.tistory.com/213#entry213comment</comments>
      <pubDate>Fri, 15 Nov 2024 16:35:28 +0900</pubDate>
    </item>
    <item>
      <title>[ChatGPT] 라인 일러스트를 그려주는 프롬프트!</title>
      <link>https://ks-jun.tistory.com/212</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;[ChatGPT]&amp;nbsp;라인&amp;nbsp;일러스트를&amp;nbsp;그려주는&amp;nbsp;프롬프트!&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cAB2MG/btsKJJlFC6n/xfbrg5UUaMUrm38iYXgEq0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cAB2MG/btsKJJlFC6n/xfbrg5UUaMUrm38iYXgEq0/img.webp&quot; data-alt=&quot;음악을 들으며 그림을 그리는 로봇의 라인 일러스트&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cAB2MG/btsKJJlFC6n/xfbrg5UUaMUrm38iYXgEq0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcAB2MG%2FbtsKJJlFC6n%2Fxfbrg5UUaMUrm38iYXgEq0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;음악을 들으며 그림을 그리는 로봇의 라인 일러스트&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최근 인공지능을 활용한 이미지 생성 기술이 급격히 발전하면서, 이제 누구나 쉽게 그림을 요청하고 원하는 이미지를 얻을 수 있게 되었습니다. 특히, 심플하고 직관적인 라인 일러스트(Line Illustration) 스타일로 자신만의 이미지를 만들어 볼 수 있는데요, 이번 포스팅에서는 ChatGPT에서 라인 일러스트를 쉽게 요청하는 방법에 대해 소개해 드리겠습니다!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;라인 일러스트, 플랫 디자인, 카툰 스타일을 결합한 프롬프트로 이미지 생성하기&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ChatGPT에서 라인 일러스트를 생성하고 싶다면, &lt;b&gt;&quot;라인 일러스트, 플랫 디자인, 카툰 스타일과 미니멀리즘이 결합된 느낌으로 그림 그려줘.&quot;&lt;/b&gt; 와 같은 프롬프트를 입력해 보세요. 그 후 원하는 이미지를 구체적으로 설명하면 됩니다. 예를 들어, 다음과 같은 설명을 덧붙일 수 있습니다:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;귀여운 고양이가 창밖을 바라보고 있는 장면&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;가벼운 산책을 즐기는 커플&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;작은 카페에서 커피를 마시는 사람들&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같이 간단하면서도 구체적인 요청만으로도 멋진 라인 일러스트 이미지를 손쉽게 생성할 수 있습니다!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;프롬프트의 장점과 활용법&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 프롬프트는 플랫 디자인과 카툰 스타일이 결합되어 있어 깔끔하고 미니멀한 느낌의 일러스트가 필요할 때 유용합니다. 웹 디자인이나 소셜 미디어, 또는 블로그 이미지로도 잘 어울리며, 독특한 매력을 더해줄 수 있죠.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시 프롬프트&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;라인 일러스트, 플랫 디자인, 카툰 스타일과 미니멀리즘이 결합된 느낌으로 &lt;b&gt;작은 정원에서 꽃을 가꾸는 사람을 그려줘.&lt;/b&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czHtZr/btsKItqJcsF/t2y2dQPuaYxIUSgE7ls7eK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czHtZr/btsKItqJcsF/t2y2dQPuaYxIUSgE7ls7eK/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czHtZr/btsKItqJcsF/t2y2dQPuaYxIUSgE7ls7eK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczHtZr%2FbtsKItqJcsF%2Ft2y2dQPuaYxIUSgE7ls7eK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;ldquo;라인 일러스트, 플랫 디자인, 카툰 스타일과 미니멀리즘이 결합된 느낌으로 &lt;b&gt;노을을 바라보는 강아지를 그려줘.&lt;/b&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dM4gzB/btsKIvvej1d/zpufKwy0uqlRHthnA4sXnK/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dM4gzB/btsKIvvej1d/zpufKwy0uqlRHthnA4sXnK/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dM4gzB/btsKIvvej1d/zpufKwy0uqlRHthnA4sXnK/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdM4gzB%2FbtsKIvvej1d%2FzpufKwy0uqlRHthnA4sXnK%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다양한 표현을 추가하며, 더욱 독창적이고 개성 있는 라인 일러스트 이미지를 만들어 보세요!&lt;/p&gt;</description>
      <category>인공지능 놀이터/CHATGPT</category>
      <category>ChatGPT</category>
      <category>라인 일러스트</category>
      <category>오블완</category>
      <category>티스토리챌린지</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/212</guid>
      <comments>https://ks-jun.tistory.com/212#entry212comment</comments>
      <pubDate>Fri, 15 Nov 2024 12:55:48 +0900</pubDate>
    </item>
    <item>
      <title>[Ubuntu, Linux] 터미널로 특정 디렉토리를 만들고, 그 디렉토리 하위에 모든 파일/디렉토리에 읽기,쓰기 권한 부여하는 방법</title>
      <link>https://ks-jun.tistory.com/211</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FquJF/btsJY3YvKyc/d3RkCNmWEyabE2lH69lQEk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FquJF/btsJY3YvKyc/d3RkCNmWEyabE2lH69lQEk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FquJF/btsJY3YvKyc/d3RkCNmWEyabE2lH69lQEk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFquJF%2FbtsJY3YvKyc%2Fd3RkCNmWEyabE2lH69lQEk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우분투 터미널에서 특정 디렉토리를 만들고, 그 디렉토리 하위에 있는 모든 파일과 디렉토리에 읽기, 쓰기 권한을 부여하는 방법은 다음과 같습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 디렉토리 생성&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 특정 디렉토리를 생성하려면 mkdir 명령어를 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1728350189381&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir /path/to/directory&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, myfolder라는 이름의 디렉토리를 생성하려면:&lt;/p&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1728350201297&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir ~/myfolder&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 디렉토리 하위에 있는 모든 파일/디렉토리에 읽기, 쓰기 권한 부여&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;생성된 디렉토리와 그 하위 파일/디렉토리에 읽기, 쓰기 권한을 부여하려면 chmod 명령어를 사용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1728350211310&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod -R u+rw /path/to/directory&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-R: 재귀적으로 하위 파일과 디렉토리에도 적용합니다.&lt;/li&gt;
&lt;li&gt;u+rw: 사용자에게 읽기(r)와 쓰기(w) 권한을 부여합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 사용자에게 읽기 및 쓰기 권한을 부여하려면:&lt;/p&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1728350226883&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod -R a+rw /path/to/directory&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;a+rw: 모든 사용자(a)에게 읽기(r)와 쓰기(w) 권한을 부여합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;예시&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1728350244387&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir ~/myfolder
chmod -R a+rw ~/myfolder&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명령어는 myfolder를 생성하고, 그 디렉토리와 하위의 모든 파일 및 디렉토리에 읽기 및 쓰기 권한을 부여합니다.&lt;/p&gt;</description>
      <category>Study/Linux</category>
      <category>linux</category>
      <category>ubuntu</category>
      <category>권한</category>
      <category>디렉토리</category>
      <category>쓰기</category>
      <category>읽기</category>
      <category>폴더</category>
      <category>하위</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/211</guid>
      <comments>https://ks-jun.tistory.com/211#entry211comment</comments>
      <pubDate>Tue, 8 Oct 2024 18:57:49 +0900</pubDate>
    </item>
    <item>
      <title>[ROS2] OSError: [Errno 8] Exec format error</title>
      <link>https://ks-jun.tistory.com/210</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qfcUj/btsJKbRH8Sv/z5qcksiiDq6zEq3QiFTk60/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qfcUj/btsJKbRH8Sv/z5qcksiiDq6zEq3QiFTk60/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qfcUj/btsJKbRH8Sv/z5qcksiiDq6zEq3QiFTk60/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqfcUj%2FbtsJKbRH8Sv%2Fz5qcksiiDq6zEq3QiFTk60%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;[오류]&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ROS2에서 launch 파일을 실행했는데, 다음과 같은 Exec format error가 발생하였습니다.&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1727224121941&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [publisher_node.py-1]: exception occurred while executing process:
Traceback (most recent call last):
  File &quot;/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/execute_process.py&quot;, line 723, in __execute_process
    transport, self._subprocess_protocol = await async_execute_process(
  File &quot;/opt/ros/foxy/lib/python3.8/site-packages/osrf_pycommon/process_utils/async_execute_process_asyncio/impl.py&quot;, line 142, in async_execute_process
    transport, protocol = yield from _async_execute_process_nopty(
  File &quot;/opt/ros/foxy/lib/python3.8/site-packages/osrf_pycommon/process_utils/async_execute_process_asyncio/impl.py&quot;, line 46, in _async_execute_process_nopty
    transport, protocol = yield from loop.subprocess_exec(
  File &quot;/usr/lib/python3.8/asyncio/base_events.py&quot;, line 1630, in subprocess_exec
    transport = await self._make_subprocess_transport(
  File &quot;/usr/lib/python3.8/asyncio/unix_events.py&quot;, line 197, in _make_subprocess_transport
    transp = _UnixSubprocessTransport(self, protocol, args, shell,
  File &quot;/usr/lib/python3.8/asyncio/base_subprocess.py&quot;, line 36, in __init__
    self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
  File &quot;/usr/lib/python3.8/asyncio/unix_events.py&quot;, line 789, in _start
    self._proc = subprocess.Popen(
  File &quot;/usr/lib/python3.8/subprocess.py&quot;, line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File &quot;/usr/lib/python3.8/subprocess.py&quot;, line 1594, in _execute_child
    self._posix_spawn(args, executable, env, restore_signals,
  File &quot;/usr/lib/python3.8/subprocess.py&quot;, line 1545, in _posix_spawn
    self.pid = os.posix_spawn(executable, args, env, **kwargs)
OSError: [Errno 8] Exec format error: '/home/wow/new_ws/install/publisher/lib/publisher/publisher_node.py'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;[주요 원인 및 해결 방법]&lt;/b&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;이 오류는 **Exec format error**로, Python 스크립트나 실행 파일이 &lt;/span&gt;&lt;b&gt;실행 불가능한 포맷&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;으로 처리되고 있다는 것을 의미합니다. 보통 다음과 같은 원인으로 발생할 수 있습니다&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Python 스크립트의 해더 누락 (#!/usr/bin/env python3)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Python 스크립트를 실행 가능한 파일로 만들기 위해서는 스크립트의 첫 번째 줄에 **쉐뱅(shebang)**이 필요합니다. 이 쉐뱅은 시스템에 Python 인터프리터가 어디에 위치해 있는지 알려줍니다.&lt;/li&gt;
&lt;li&gt;쉐뱅이 없으면 스크립트를 실행할 때 **Exec format error**가 발생할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;해결 방법: Python 스크립트의 첫 번째 줄에 다음과 같은 쉐뱅을 추가하세요.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1727224247426&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/usr/bin/env python3&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. &lt;b&gt;실행 권한 문제&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Python 스크립트가 실행 권한이 없을 경우에도 이 오류가 발생할 수 있습니다. publisher_node.py 파일이 &lt;b&gt;실행 가능한 권한&lt;/b&gt;을 가지고 있는지 확인해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;해결 방법&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;: 스크립트에 &lt;/span&gt;&lt;b&gt;실행 권한&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;을 부여하세요.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1727224285382&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod +x /home/wow/new_ws/install/publisher/lib/publisher/publisher_node.py&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;b&gt;3. &lt;b&gt;잘못된 인터프리터 경로&lt;/b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;만약 Python 스크립트에서 잘못된 인터프리터 경로를 사용하는 경우에도 이 오류가 발생할 수 있습니다. 예를 들어, Python 2와 Python 3이 섞여 있거나, 경로가 잘못 지정된 경우입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;해결 방법&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;: 스크립트의 첫 줄에 적절한 Python 인터프리터 경로가 있는지 확인합니다.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;올바른 Python 인터프리터 경로는 보통 다음과 같습니다: #!/usr/bin/env python3&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 잘못된 바이너리 실행 파일&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Exec format error는 Python 스크립트가 아닌 경우에도 발생할 수 있습니다. 예를 들어, 다른 플랫폼에서 빌드된 실행 파일을 실행하려고 할 때 이 오류가 발생할 수 있습니다. 특히 ARM용 바이너리를 x86 플랫폼에서 실행하려는 경우 등입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;해결 방법&lt;/b&gt;: Python 스크립트나 실행 파일이 올바른 아키텍처에서 빌드되었는지 확인하세요. 이 경우 Python 스크립트가 아닌 &lt;b&gt;컴파일된 바이너리 파일&lt;/b&gt;에서 발생하는 문제일 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;해결 방법 요약:&lt;/b&gt;&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;쉐뱅 추가&lt;/b&gt;: publisher_node.py 파일의 첫 번째 줄에 쉐뱅(#!/usr/bin/env python3)을 추가합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;실행 권한 추가&lt;/b&gt;: 파일에 실행 권한을 부여합니다 (chmod +x).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Python 인터프리터 경로 확인&lt;/b&gt;: 쉐뱅이 Python 3 인터프리터를 가리키는지 확인합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
      <category>Error Solution/ROS</category>
      <category>error</category>
      <category>exec format error</category>
      <category>launch</category>
      <category>OSerror</category>
      <category>ROS2</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/210</guid>
      <comments>https://ks-jun.tistory.com/210#entry210comment</comments>
      <pubDate>Wed, 25 Sep 2024 18:34:21 +0900</pubDate>
    </item>
    <item>
      <title>[ROS] Shell 파일에서 ROSCORE가 실행될 때까지 기다렸다가 Launch 파일 실행하기</title>
      <link>https://ks-jun.tistory.com/209</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mKaan/btsI5jPlo2D/gzQsRZJFduZdBTheS48gZ0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mKaan/btsI5jPlo2D/gzQsRZJFduZdBTheS48gZ0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mKaan/btsI5jPlo2D/gzQsRZJFduZdBTheS48gZ0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmKaan%2FbtsI5jPlo2D%2FgzQsRZJFduZdBTheS48gZ0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ROS (Robot Operating System)를 사용하면서 roscore가 완전히 실행된 후에 다른 노드나 Launch 파일을 실행해야 하는 경우가 많습니다. roscore가 아직 시작되지 않았을 때 ROS 노드를 실행하려 하면 연결 오류가 발생할 수 있습니다. 이 글에서는 Shell 스크립트를 작성하여 roscore가 실행될 때까지 기다렸다가 Launch 파일을 실행하는 방법을 소개하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;1. 기본 설정&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선, ROS 환경을 설정하고 필요한 설정 파일들을 소싱해야 합니다. 아래는 기본적인 ROS 환경 설정 코드입니다:&lt;/p&gt;
&lt;pre id=&quot;code_1723629245887&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash 

export ROS_MASTER_URI=http://[MASTER_IP]:11311
export ROS_IP=[ROS_IP]

# 필요한 ROS 설정 소싱
source /opt/ros/noetic/setup.bash --extend
source [필요한 Source 파일]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;2. roscore가 실행될 때까지 기다리기&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;roscore가 실행되지 않은 상태에서 다른 노드를 실행하면, ROS 노드들이 마스터와 연결할 수 없어 오류가 발생합니다. 이를 방지하기 위해, roscore가 완전히 실행될 때까지 기다렸다가 Launch 파일을 실행하는 방법을 구현합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.1. rostopic list 명령어 사용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rostopic list 명령어는 roscore가 실행 중일 때만 성공적으로 실행됩니다. 이를 이용해 roscore가 실행될 때까지 기다릴 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1723629267450&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;echo &quot;Waiting for roscore to start...&quot;
while ! rostopic list &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; do
  sleep 1
done&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서는 rostopic list가 성공할 때까지 1초 간격으로 반복적으로 실행되도록 설정합니다. 이 방법을 통해 roscore가 실행될 때까지 기다릴 수 있습니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.2. Launch 파일 실행&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;roscore가 실행된 이후에 Launch 파일을 실행합니다. 아래는 최종 스크립트입니다:&lt;/p&gt;
&lt;pre id=&quot;code_1723629284023&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash 

export ROS_MASTER_URI=http://[MASTER_IP]:11311
export ROS_IP=[ROS_IP]

# 필요한 ROS 설정 소싱
source /opt/ros/noetic/setup.bash --extend
source [필요한 Source 파일]

# roscore가 실행될 때까지 기다리기
echo &quot;Waiting for roscore to start...&quot;
while ! rostopic list &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; do
  sleep 1
done

echo &quot;roscore is running. Launching robot_conversation...&quot;

# ROS Launch 파일 실행
roslaunch [ROS패키지] [launch파일]&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;3. 결론&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 이 스크립트를 사용하여 roscore가 실행될 때까지 기다렸다가 안전하게 Launch 파일을 실행할 수 있습니다. 이 방법은 ROS 기반의 시스템을 더 안정적으로 운영하는 데 도움이 됩니다. 특히 복잡한 네트워크 환경에서 여러 노드를 동시에 실행할 때 유용합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ROS를 활용한 로봇 개발 과정에서 이와 같은 스크립트를 작성해두면, 반복되는 오류를 줄이고 개발 생산성을 높일 수 있습니다. 앞으로도 더 많은 ROS 팁과 트릭을 소개할 예정이니, 많은 관심 부탁드립니다!&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/Robot</category>
      <category>.sh</category>
      <category>roscore</category>
      <category>Shell</category>
      <category>기다리기</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/209</guid>
      <comments>https://ks-jun.tistory.com/209#entry209comment</comments>
      <pubDate>Wed, 14 Aug 2024 18:58:20 +0900</pubDate>
    </item>
    <item>
      <title>[Ubuntu] 시작 시 기본 마이크, 스피커 설정하는 방법</title>
      <link>https://ks-jun.tistory.com/208</link>
      <description>&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;[Ubuntu]&amp;nbsp;시작&amp;nbsp;시&amp;nbsp;기본&amp;nbsp;마이크,&amp;nbsp;스피커&amp;nbsp;설정하는&amp;nbsp;방법&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dnQsdE/btsITV9Ol1l/fxo1XGhDGvqbbfP6x6UcK0/img.webp&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dnQsdE/btsITV9Ol1l/fxo1XGhDGvqbbfP6x6UcK0/img.webp&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dnQsdE/btsITV9Ol1l/fxo1XGhDGvqbbfP6x6UcK0/img.webp&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdnQsdE%2FbtsITV9Ol1l%2Ffxo1XGhDGvqbbfP6x6UcK0%2Fimg.webp&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;1024&quot; data-origin-width=&quot;1024&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;PulseAudio 설정 파일 수정&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PulseAudio의 설정 파일인 default.pa를 수정하여 기본 오디오 장치를 설정할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 설정 파일 위치&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 사용자는 ~/.config/pulse/ 디렉토리에 있는 default.pa 파일을 수정합니다. 이 파일이 없으면 /etc/pulse/default.pa 파일을 참조하여 개인 설정 파일을 생성할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 기본 장치 설정&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저, 현재 시스템의 오디오 장치 목록을 확인합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1722836979414&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;pactl list short sinks
pactl list short sources&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력된 목록에서 기본 오디오 장치의 이름을 확인합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런 다음, ~/.config/pulse/default.pa 파일을 편집하거나 새로 만듭니다. 예를 들어, 기본 출력 장치(스피커)를 설정하려면 다음 줄을 추가합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1722836994020&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;set-default-sink &amp;lt;sink_name&amp;gt;
set-default-source &amp;lt;source_name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &amp;lt;sink_name&amp;gt;과 &amp;lt;source_name&amp;gt;은 기본으로 설정할 장치의 이름입니다. 예를 들어, alsa_output.pci-0000_00_1b.0.analog-stereo와 같은 형식입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 실제 적용 예시&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1722837012299&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;mkdir -p ~/.config/pulse
nano ~/.config/pulse/default.pa&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일을 연 후, 위의 내용을 추가합니다. 예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre id=&quot;code_1722837030921&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo
set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Study/Linux</category>
      <category>default</category>
      <category>ubuntu</category>
      <category>마이크</category>
      <category>설정</category>
      <category>세팅</category>
      <category>스피커</category>
      <author>SKJun</author>
      <guid isPermaLink="true">https://ks-jun.tistory.com/208</guid>
      <comments>https://ks-jun.tistory.com/208#entry208comment</comments>
      <pubDate>Mon, 5 Aug 2024 18:52:09 +0900</pubDate>
    </item>
  </channel>
</rss>