<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Opencv on dyama&#39;s page</title>
		<link>https://dyama.org/tag/opencv/</link>
		<description>Recent content in Opencv on dyama&#39;s page</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Mon, 13 Sep 2021 18:26:00 +0900</lastBuildDate>
		
			<atom:link href="https://dyama.org/tag/opencv/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>OpenCV でカメラキャリブレーション</title>
				<link>https://dyama.org/2021/09/7409/</link>
				<pubDate>Mon, 13 Sep 2021 18:26:00 +0900</pubDate>
				<guid>https://dyama.org/2021/09/7409/</guid>
				<description>&lt;p&gt;自分用の覚え書きです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;python-でのキャリブレーション&#34;&gt;Python でのキャリブレーション&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://qiita.com/ReoNagai/items/5da95dea149c66ddbbdd&#34;&gt;こちらの記事&lt;/a&gt;のコードが参考になります。(大枠はほぼそのまんま)&lt;/p&gt;&#xA;&lt;p&gt;元がビデオキャプチャデバイスから画像を取得しているので、弟氏に撮影済みの複数の画像ファイルからできるように変更してもらったのをさらにちょっと修正しています。&lt;/p&gt;</description>
			</item>
			<item>
				<title>3/26メモ</title>
				<link>https://dyama.org/2017/03/3026/</link>
				<pubDate>Mon, 27 Mar 2017 01:10:14 +0900</pubDate>
				<guid>https://dyama.org/2017/03/3026/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://dyama.org/wp-content/uploads/2017/03/heroku-logo.png&#34; alt=&#34;&#34; loading=&#34;lazy&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;heroku&#34;&gt;heroku&lt;/h2&gt;&#xA;&lt;p&gt;わかりやすい。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://dotinstall.com/lessons/basic_heroku&#34;&gt;Heroku入門 (全12回) – プログラミングならドットインストール&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;heroku 上で Rails アプリが動くところまでざっと見てみました。てか、heroku の前にまともに Rails の勉強しなきゃ。&lt;/p&gt;</description>
			</item>
			<item>
				<title>OpenCVでステレオマッチング(ステレオカメラ)</title>
				<link>https://dyama.org/2017/03/2998/</link>
				<pubDate>Sat, 25 Mar 2017 16:58:59 +0900</pubDate>
				<guid>https://dyama.org/2017/03/2998/</guid>
				<description>&lt;p&gt;前日より引き続き、OpenCV でステレオ画像による深度計算をやっています。 &lt;a href=&#34;https://dyama.org/2017/03/3010/&#34;&gt;昨晩、スマホの単眼カメラで撮影した2枚のステレオ画像の深度計算で割と良さそうな結果が出た&lt;/a&gt;ので、Amazonで安いWebカメラを二つ注文。早速届いたので遊んでみます。&lt;/p&gt;&#xA;&lt;h2 id=&#34;環境&#34;&gt;環境&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LMDE2 64bit&lt;/li&gt;&#xA;&lt;li&gt;OpenCV2&lt;/li&gt;&#xA;&lt;li&gt;Python2.7&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;カメラ&#34;&gt;カメラ&lt;/h2&gt;&#xA;&lt;p&gt;ロジクールの安いWebカメラを2台購入。購入時には1台1081円でした。田舎でも前日の深夜に注文した商品が翌日午後には届くのって素晴しすぎますね！引きこもって生きてゆけそう… _(:3」∠)_&lt;/p&gt;</description>
			</item>
			<item>
				<title>OpenCVでステレオマッチング</title>
				<link>https://dyama.org/2017/03/3010/</link>
				<pubDate>Thu, 23 Mar 2017 23:35:33 +0900</pubDate>
				<guid>https://dyama.org/2017/03/3010/</guid>
				<description>&lt;p&gt;かなりの今更感はさておき、OpenCV でステレオ画像による深度計算をやっています。&lt;/p&gt;&#xA;&lt;h2 id=&#34;環境&#34;&gt;環境&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LMDE2 64bit&lt;/li&gt;&#xA;&lt;li&gt;OpenCV2&lt;/li&gt;&#xA;&lt;li&gt;Python2.7&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;スクリプト&#34;&gt;スクリプト&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;stereo.py&lt;/strong&gt; (&lt;a href=&#34;https://gist.github.com/dyama/277e23c35bdfd8d8d4b5b992c03683e5&#34;&gt;Gist&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#57606a&#34;&gt;#!/usr/bin/python&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#57606a&#34;&gt;# coding: utf-8&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cf222e&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#24292e&#34;&gt;numpy&lt;/span&gt; &lt;span style=&#34;color:#cf222e&#34;&gt;as&lt;/span&gt; &lt;span style=&#34;color:#24292e&#34;&gt;np&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cf222e&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#24292e&#34;&gt;cv2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#cf222e&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#24292e&#34;&gt;matplotlib&lt;/span&gt; &lt;span style=&#34;color:#cf222e&#34;&gt;import&lt;/span&gt; pyplot &lt;span style=&#34;color:#cf222e&#34;&gt;as&lt;/span&gt; plt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img_left &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;imread&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#0a3069&#34;&gt;&amp;#34;l.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img_right &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;imread&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#0a3069&#34;&gt;&amp;#34;r.jpg&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img_left &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;GaussianBlur&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;equalizeHist&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;img_left&lt;span style=&#34;color:#1f2328&#34;&gt;),&lt;/span&gt; &lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;),&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;img_right &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;GaussianBlur&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;equalizeHist&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;img_right&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#1f2328&#34;&gt;,(&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;),&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;window_size &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;stereo &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;StereoSGBM&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    minDisparity &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;           &lt;span style=&#34;color:#57606a&#34;&gt;# 視差の下限&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    numDisparities &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;32&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;        &lt;span style=&#34;color:#57606a&#34;&gt;# 最大の上限&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    SADWindowSize &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; window_size&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;&lt;span style=&#34;color:#57606a&#34;&gt;# SADの窓サイズ&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    uniquenessRatio &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;        &lt;span style=&#34;color:#57606a&#34;&gt;# パーセント単位で表現されるマージン&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    speckleWindowSize &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;      &lt;span style=&#34;color:#57606a&#34;&gt;# 視差領域の最大サイズ&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    speckleRange &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;16&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;          &lt;span style=&#34;color:#57606a&#34;&gt;# それぞれの連結成分における最大視差値&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    disp12MaxDiff &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;          &lt;span style=&#34;color:#57606a&#34;&gt;# left-right 視差チェックにおけて許容される最大の差&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    P1 &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;8&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;*&lt;/span&gt;window_size&lt;span style=&#34;color:#0550ae&#34;&gt;**&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;    &lt;span style=&#34;color:#57606a&#34;&gt;# 視差のなめらかさを制御するパラメータ1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    P2 &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;32&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;*&lt;/span&gt;window_size&lt;span style=&#34;color:#0550ae&#34;&gt;**&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt;   &lt;span style=&#34;color:#57606a&#34;&gt;# 視差のなめらかさを制御するパラメータ2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    fullDP &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#cf222e&#34;&gt;True&lt;/span&gt;               &lt;span style=&#34;color:#57606a&#34;&gt;# 完全な2パス動的計画法を使うならTrue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;disp &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; stereo&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;compute&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;img_left&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt; img_right&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;disp &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;normalize&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;disp&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt; alpha &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt; beta &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#0550ae&#34;&gt;255&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt; norm_type &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;NORM_MINMAX&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt; dtype &lt;span style=&#34;color:#0550ae&#34;&gt;=&lt;/span&gt; cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;CV_8U&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;imshow&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#0a3069&#34;&gt;&amp;#34;disp&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;,&lt;/span&gt; disp&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;waitKey&lt;span style=&#34;color:#1f2328&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#0550ae&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#1f2328&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cv2&lt;span style=&#34;color:#0550ae&#34;&gt;.&lt;/span&gt;destroyAllWindows&lt;span style=&#34;color:#1f2328&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;入力画像と深度計算の結果&#34;&gt;入力画像と深度計算の結果&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;cv2.StereoSGBM()&lt;/code&gt; のパラメータをいじくり回したり、単眼のスマホカメラで撮影した入力画像の位置合わせをしたりしていると、それなりに深度が出るようになりました。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby と OpenCV でカメラを使う</title>
				<link>https://dyama.org/2017/01/2959/</link>
				<pubDate>Sat, 21 Jan 2017 23:59:57 +0900</pubDate>
				<guid>https://dyama.org/2017/01/2959/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://dyama.org/2017/01/2949/&#34;&gt;前回&lt;/a&gt;に引き続き、ruby-opencv でカメラデバイスをソースにしてリアルタイム検知をやってみたいと思います。&lt;/p&gt;&#xA;&lt;h1 id=&#34;使っているカメラ&#34;&gt;使っているカメラ&lt;/h1&gt;&#xA;&lt;p&gt;Microsoft 社製の USB 接続 HD ウェブカムです。エンドユーザ向けにしてはちょっと高めですが画質も良いです。LMDE2 では UVC で使えています。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby と OpenCV でチェッカーボード検知</title>
				<link>https://dyama.org/2017/01/2949/</link>
				<pubDate>Fri, 20 Jan 2017 23:59:52 +0900</pubDate>
				<guid>https://dyama.org/2017/01/2949/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://dyama.org/2017/01/2938/&#34;&gt;前日&lt;/a&gt;に引き続き、ruby-opencv でチェッカーボードを認識させてみたいと思います。チェッカーボードとは市松模様のパターンのことで、これを認識することにより映像中の3次元座標系(の行列)を確定させることができ、映像の上に3Dモデルをマッピングする第一歩となります。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Ruby と OpenCV で顔認識</title>
				<link>https://dyama.org/2017/01/2938/</link>
				<pubDate>Thu, 19 Jan 2017 23:59:55 +0900</pubDate>
				<guid>https://dyama.org/2017/01/2938/</guid>
				<description>&lt;p&gt;去年の秋に組んだ新しいメインマシンは、MSI のB150M MORTAR ARCTIC (MS-7A45) という新しいマザボで、LMDE2 x64 を乗せて使おうとすると USB デバイスまわりが突然使用不能になったりして厄介でした。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
