Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
openCVで顔をごにょごにょする#TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
120
openCVで顔をごにょごにょする#TechLunch
openCVで顔をごにょごにょする
2013/02/26 (水) 12:00-13:00 @ Livesense TechLunch
発表者:植村 健太
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
770
26新卒_総合職採用_会社説明資料
livesense
PRO
0
1.5k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
8.8k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
5k
中途セールス職_会社説明資料
livesense
PRO
0
140
EM候補者向け転職会議説明資料
livesense
PRO
0
58
コロナで失われたノベルティ作成ノウハウを復活させた話
livesense
PRO
0
180
転職会議でGPT-3を活用した企業口コミ要約機能をリリースした話
livesense
PRO
0
1.2k
株式会社リブセンス マッハバイト_プレイブック
livesense
PRO
0
720
Other Decks in Technology
See All in Technology
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
780
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
210
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.7k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.8k
SSMRunbook作成の勘所_20241120
koichiotomo
3
170
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.4k
Chasing the White Whale of Open Source - ROI
mrbobbytables
0
110
強いチームと開発生産性
onk
PRO
36
12k
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
190
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
270
Featured
See All Featured
Visualization
eitanlees
145
15k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Thoughts on Productivity
jonyablonski
67
4.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Side Projects
sachag
452
42k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Statistics for Hackers
jakevdp
796
220k
Making Projects Easy
brettharned
115
5.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
PQFO$7ͰإΛ͝ʹΐ͝ʹΐͯ͠ΈΔ σβΠϯ෦ɹ২ଜݐଠ 142݄26ਫ༵
PQFODWͱ OpenCVʢΦʔϓϯγʔϰΟɺӳޠ: Open Source Computer Vision LibraryʣͱΠϯς ϧ͕։ൃɾެ։ͨ͠ΦʔϓϯιʔεͷίϯϐϡʔλϏδϣϯ͚ϥΠϒϥϦɻ C/C++ɺJavaɺPython͚ʹϥΠϒϥϦ͕͋Δ ίϯϐϡʔλϏδϣϯʢcomputer
visionʣେࡶʹݴͬͯɺʮϩϘοτͷʯΛ࡞ΔݚڀͰ͋Δ 142݄26ਫ༵
Կ͕ग़དྷΔʁ ը૾ॲཧ (Image Processing) ߏղੳ (Structural Analysis) Ϟʔγϣϯղੳͱମ (Motion Analysis
and Object Tracking) ύλʔϯೝࣝ (Pattern Recognition) ΧϝϥΩϟϦϒϨʔγϣϯͱ3࣍ݩ࠶ߏ (Camera Calibration and 3D Reconstruction) ػցֶश ϢʔβΠϯλϑΣʔε 142݄26ਫ༵
ࠓը૾ೝࣝΛ͠·͢ɻ 142݄26ਫ༵
ը૾ೝࣝͬͯԿʁ ίϯϐϡʔλʔ͜ͷը૾إͳͷ͔ɺͳΜͳͷ͔Α͘Θ͔ͬͯͳ͍ͷ ͰͦΕΛڭ͑ͯ͋͛·͢ɻ 142݄26ਫ༵
Ͳ͏ͬͯೝ͍ࣝͯ͠Δʁ 1.ਓͷإͷࣸਅͬͯͷճΓΛ΅͔ͯ͠ݟΔͱɺͦͷ͙͢Լͷͷ͋ͨΓΑΓ҉͍ɻ 2.૭ը૾ͷத͔ΒͷลΓʹͳΔҐஔͷ্Լʹྡ͢ΔԣͷํܗྖҬΛΓग़ͯͦ͠ΕͧΕͷྖҬͷ ໌ͷฏۉΛͱΔɻ 3.্ͷྖҬ͕໌Δͯ͘ԼͷྖҬ͕҉͔ͬͨΒإը૾ͷީิʹ͢Δɻ 4.ඓےͷఱลΑΓඓےͷ྆ͷ໌Δ͞ͷฏۉͷ΄͏͕খ͍͜͞ͱ͕ଟ͍ɻ ʙ إͱͯ͠ೝࣝ ͲΜͲΜإͷީิ͔Β֎͍ͯ͘͠ 142݄26ਫ༵
࣮ࡍʹͬͯΈΔ XJUI 142݄26ਫ༵
PQFO'SBNFXPSLTͬ͘͟Γ ήʔϜͱ͔ΠϯελϨʔγϣϯΛ࡞Δͷʹ͍ͯΔ ΫϩεϓϥοτϑΥʔϜͷ ΞϓϦέʔγϣϯ։ൃϑϨʔϜϫʔΫ 142݄26ਫ༵
142݄26ਫ༵
142݄26ਫ༵
إݕग़ϥΠϒϥϦΛ͏ PG0QFO$7 142݄26ਫ༵
PGY0QFO$Wͷإݕग़ϥΠϒϥϦ ϝϞɿϓϩάϥϜಈ͔͢ 142݄26ਫ༵
void testApp::setup(){ finder.setup("haarcascade_frontalface_alt2.xml"); vid.allocate(CAM_WIDTH, CAM_HEIGHT); gray.allocate(CAM_WIDTH, CAM_HEIGHT); vidGrabber.setVerbose(true); vidGrabber.initGrabber(CAM_WIDTH, CAM_HEIGHT);
} PQFO$7ͷإݕग़ϥΠϒϥϦ 142݄26ਫ༵
void testApp::update(){ vidGrabber.update(); vid.setFromPixels(vidGrabber.getPixels(), CAM_WIDTH, CAM_HEIGHT); vid.convertRgbToHsv(); vid.convertToGrayscalePlanarImage(gray, 2); finder.findHaarObjects(gray);
} 142݄26ਫ༵
void testApp::draw(){ ofSetColor(255,255,255); vidGrabber.draw(0,0); gray.draw(CAM_WIDTH, 0, CAM_WIDTH, CAM_HEIGHT); //ofNoFill(); ofSetColor(255,
255, 0); int numFace = finder.blobs.size(); float x[numFace], y[numFace], w[numFace], h[numFace]; for(int i = 0; i < numFace; i++) { ofRect( finder.blobs[i].boundingRect ); } } 142݄26ਫ༵
ྠֲநग़Λߦ͏ʴিಥఆ PG#PYE PG0QFO$7 142݄26ਫ༵
എܠࠩΛߦ͏ࣄͰྠֲநग़ 142݄26ਫ༵
ͬ͘͟ΓͲ͏͍͏͜ͱ͔ ݕग़͢Δମ͕ͳ͍ঢ়ଶͰɺഎܠը૾Λه͓ͯ͘͠ ݕग़͢ΔମΛؚΊͨݱࡏͷը૾Λೖྗ ه͓͍ͯͨ͠എܠը૾ͱɺݱࡏͱͷࠩΛͱͬͨը૾Λੜ ࠩΛͱͬͨը૾Λഎܠ͔Β͢ΔͨΊɺઃఆͨ͠Λᮢͱ͠ ͯɺനࠇʹۃԽ͢Δ 142݄26ਫ༵
நग़ͨ͠ϥΠϯΛিಥఆʹར༻͢Δ 142݄26ਫ༵
PGY#PYE 142݄26ਫ༵
PGY#PYEͬ͘͟Γ ʮཧΤϯδϯʯ ॏྗিಥɺຎࡲͱ͍ͬͨཧܭࢉΛෳࡶͳܭࢉΛ͢Δ͜ͱͳ͘ར༻Ͱ͖Δ //Box2Dॳظઃఆ box2d.init(); //Box2DͷੈքΛॳظԽ box2d.setGravity(xํͷॏྗ, yํͷॏྗ); box2d.createBounds(0, 0,ɹը໘ͷ෯,ɹը໘ͷߴ͞);
//ը໘ΛนͰғΉ box2d.setFPS(30); //30fpsͰදࣔ box2d.checkBounds(true); Person yuji; yuji.setPhysics(ॏ͞,ൃྗ,ຎࡲྗ); yuji.setup(box2d.getWorld(), x࠲ඪ, y࠲ඪ (, r)); yuji.draw(); #include "ofxBox2d.h" ofxBox2d box2d; vector <ofxBox2dCircle> Person;ɹ//ಈతྻΛ༻͢ΔɻϜμͳϝϞϦফඅΛ͙ ઃఆྫϔομϑΝΠϧଆ ઃఆྫιʔεϑΝΠϧଆ ϝϞɿϓϩάϥϜಈ͔͢ 142݄26ਫ༵
·ͱΊ ofxOpenCvݕग़ϥΠϒϥϦxmlΛಡΈࠐΉ͚ͩͳͷͰݪཧͱ͔͔Βͳͯ͑͘Δɻ͍Ζ͍Ζ Έ߹Θͤͳ͍ͱਫ਼ଟ͕͋Μͳ͍ إೝূϋʔυϧߴ͍ͬ͢ɻຊՈͰͬͨ΄͏͕Αͦ͞͏ addon͕๛ͰɺΈ߹Θͤ࣍ୈͰ͍Ζ͍ΖͰ͖ΔʢMIDI৴߸+ཧԋࢉ+KINECTͱ͔ʣ Έ߹Θͤͳ͍ͱHTML5ͷAPIͱ͋Μ·มΘΜͳ͍ɻ ϝϞϦϦʔΫͨ͠ΒམͪΔɻݶք͕ͲΕ͘Β͍ͳͷ͔Ϗϧυͯ͠Έͳ͍ͱ͔Βͳ͍͠ɺϚγ ϯεϖοΫʹґଘ ͡Ί͔Β៛ີʹઃܭ࣮ͯ͢͠ΔΑΓɺ࡞Γͳ͕Βࢼ͢ʢεέον͢Δʣײ͡Ͱઓͬͨ΄͏ ͕͍͍ɻܭࢉͲ͏Γʹ͍͔ͳ͍͜ͱͷ΄͏͕ଟ͍ɻ
͋·ΓݫີͳϓϩάϥϜؾʹ͠ͳ͍͍ͯ͘Α͏ʹྑ͖ʹܭΒͬͯ͘ΕͯΔͷͰɺϓϩάϥϜ͔ Μͳͯ͘ͳΜͱ͔ͳΔɻ 142݄26ਫ༵
͓ΘΓ openframeworksͰΩϛिϓϩάϥϛϯάʂʂ 142݄26ਫ༵