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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Livesense Inc.
PRO
April 21, 2014
Technology
0
130
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.
27新卒_総合職採用_会社説明資料
livesense
PRO
0
2.6k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
6.6k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
190
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.6k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
550
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
52k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
290
Other Decks in Technology
See All in Technology
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
190
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
私たち準委任PdEは2つのプロダクトに挑戦する ~ソフトウェア、開発支援という”二重”のプロダクトエンジニアリングの実践~ / 20260212 Naoki Takahashi
shift_evolve
PRO
2
200
OpenShiftでllm-dを動かそう!
jpishikawa
0
140
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
240
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
770
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
410
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.5k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Code Reviewing Like a Champion
maltzj
527
40k
Everyday Curiosity
cassininazir
0
130
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
55
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
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ਫ༵