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
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
1.7k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
5.5k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
140
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.6k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
520
26新卒_総合職採用_会社説明資料
livesense
PRO
0
12k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
48k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
280
Other Decks in Technology
See All in Technology
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.3k
AI との良い付き合い方を僕らは誰も知らない
asei
1
320
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
240
技術選定、下から見るか?横から見るか?
masakiokuda
0
170
AI with TiDD
shiraji
1
330
Microsoft Agent Frameworkの可観測性
tomokusaba
1
120
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
140
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
260
Claude Skillsの テスト業務での活用事例
moritamasami
1
130
20251222_サンフランシスコサバイバル術
ponponmikankan
2
160
AWSの新機能をフル活用した「re:Inventエージェント」開発秘話
minorun365
2
530
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
We Have a Design System, Now What?
morganepeng
54
8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
27
Bash Introduction
62gerente
615
210k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
180
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
Test your architecture with Archunit
thirion
1
2.1k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
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ਫ༵