SlideShare une entreprise Scribd logo
1  sur  45
PHP で OpenCV した
2013/6/24
@kogarasi_cross
PHP で OpenCV したかった
2013/6/24
@kogarasi_cross
自己紹介
• TwitterID : kogarasi_cross
• 職種 : ゲームプログラマー
• クライアントからサーバー・インフラまでを
やったりやらなかったり
目標
サーバー上で画像識別
画像認識の題材は
機動戦士ガンダム 戦場の絆
でっかいアレ
• Youtube にリプレイ動画がアップされる
• 動画をサーバー上へ保存
• 動画から必要なサムネイルを抽出
• OpenCV でごにょごにょする
• Youtube にリプレイ動画がアップされる
• 動画をサーバー上へ保存
• 動画から必要なサムネイルを抽出
• OpenCV でごにょごにょする
• Youtube にリプレイ動画がアップされる
• 動画をサーバー上へ保存
• 動画から必要なサムネイルを抽出
• OpenCV でごにょごにょする
• Youtube にリプレイ動画がアップされる
• 動画をサーバー上へ保存
• 動画から必要なサムネイルを抽出
• OpenCV でごにょごにょする
• Youtube にリプレイ動画がアップされる
• 動画をサーバー上へ保存
• 動画から必要なサムネイルを抽出
• OpenCV でごにょごにょする
リプレイ動画
Youtube から動画を取得
• ぐぐると色々方法が出てくる
• ↑ 結構適当なのが多い
• 時々仕様が変わっててんやわんやした
• ‘http://www.youtube.com/get_video_info?
video_id=xxxx’
• xxxx に動画の ID を投げる
• 一般的な key=value&..... の形式で帰ってくる
• その中の url_encoded_fmt_stream_map パラ
メータを利用
• 動画のフォーマットごと( PC 向け / モバイ
ル向け・ mp4/flv など)にカンマ区切り・・
・・
• フォーマットごとの情報はまた
key=value&...
• そのなかの url パラメータが動画の URL
• ただし sig パラメータを一緒に渡す必要があ
る( signature として)
• 後はご自由にローカルへ
• サムネイル抽出には定番(?)の ffmpeg で
• PHP から利用するための ffmpeg-php っての
がある
• だけど、コマンドライン直叩きで(!)
抽出されたサムネイル
ここからが重要
どうやってサムネイルから
必要な情報を取得するか
文字認識 API
• @yando に教えてもらいました
• NTT Docomo が提供している API
• 画像データを投げつけることで文字情報を取
得できる
• 日本語を認識可能
文字認識 API
結果
• 辞書ベースなので造語 (MS 名 ) の抽出は難
しい
• 前は正常に認識されていた語句が API の
VerUP 時に判断されなくなった
• ユーザー辞書として正規表現を受け付けるよ
うになった(けど一部の文字を投げるとエラ
ー・・・
これは困った ....
と言ったところで
やっと本題
ここから
OpenCV していきます!
していきます!
今回は
テンプレートマッチング
テンプレートマッチング
PHP からどうやって
OpenCV を使うか・・・
頼りはいつもの github
mgdm/OpenCV-for-PHP
OpenCV-for-PHP
• いわゆるバインディングのライブラリ
• 動作環境は PHP5.3 and OpenCV 2.x
• PHP モジュール
これでいける!
と思ったのもつかの間
あれ?
minMaxLoc が無い!
ど、、どうしよう
...(´Д ` )
C/C++/Java/Python
Python....?
結局 Python で書きました ...
出来上がったのがこちら
http://kogarasi.com/kizuna_fi
nder
PHP で OpenCV したかった
( 終 )
2013/6/24
@kogarasi_cross

Contenu connexe

En vedette (7)

AWS Elastic BeanstalkとAWS Lambdaのご紹介
AWS Elastic BeanstalkとAWS Lambdaのご紹介AWS Elastic BeanstalkとAWS Lambdaのご紹介
AWS Elastic BeanstalkとAWS Lambdaのご紹介
 
OpenCVの基礎
OpenCVの基礎OpenCVの基礎
OpenCVの基礎
 
OpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみたOpenCVをAndroidで動かしてみた
OpenCVをAndroidで動かしてみた
 
局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出局所特徴量と統計学習手法による物体検出
局所特徴量と統計学習手法による物体検出
 
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
 
OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門OpenCVを用いた画像処理入門
OpenCVを用いた画像処理入門
 
OpenCV 3.0 on iOS
OpenCV 3.0 on iOSOpenCV 3.0 on iOS
OpenCV 3.0 on iOS
 

Similaire à PHPでOpenCVしてみた (8)

Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
 
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
 
webアプリケーションフレームワークの話
webアプリケーションフレームワークの話webアプリケーションフレームワークの話
webアプリケーションフレームワークの話
 
Type scriptmemo
Type scriptmemoType scriptmemo
Type scriptmemo
 
animation1.0
animation1.0animation1.0
animation1.0
 
YouTube APIの紹介
YouTube APIの紹介YouTube APIの紹介
YouTube APIの紹介
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Webブラウザで使えるいろんな処理系
Webブラウザで使えるいろんな処理系Webブラウザで使えるいろんな処理系
Webブラウザで使えるいろんな処理系
 

Dernier

Dernier (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

PHPでOpenCVしてみた