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
漫画カメラの画像処理 #TechLunch
Search
Livesense Inc.
PRO
April 22, 2014
Technology
0
100
漫画カメラの画像処理 #TechLunch
漫画カメラの画像処理
2013/08/07 (水) @ Livesense TechLunch
発表者:鈴木 健太
Livesense Inc.
PRO
April 22, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
2.5k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
52
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.5k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
440
26新卒_総合職採用_会社説明資料
livesense
PRO
0
11k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
38k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
270
EM候補者向け転職会議説明資料
livesense
PRO
0
130
Other Decks in Technology
See All in Technology
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
250
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
150
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
420
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
4
1.5k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
230
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
110
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
410
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
180
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
YesSQL, Process and Tooling at Scale
rocio
173
14k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Visualization
eitanlees
148
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
How GitHub (no longer) Works
holman
315
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Transcript
͋ͨΓ·͑Λɺൃ໌͠Α͏ɻ
γεςϜ։ൃ෦ɹϝσΟΞ։ൃୈ2άϧʔϓ Copyright © LIVESENSE Inc. ླɹ݈ଠ ອըΧϝϥ ը૾ॲཧʢϑΟϧλʔʣʹ͍ͭͯ
None
ອըΧϝϥ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 漫画カメラの 仕組みを調べてみた
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 漫画の描き方
ອըͷඳ͖ํ 1. ྠֲΛܾΊͯϖϯೖΕ ඞཁͳͱ͜ΖࠇͰృΓͭͿ͠
ອըͷඳ͖ํ 2. εΫϦʔϯτʔϯΛೖΕΔ
ອըͷඳ͖ํ 2. εΫϦʔϯτʔϯΛೖΕΔ
ອըͷඳ͖ํ 3. ʘ(^o^)ʗ
ອըͷඳ͖ํ 3. ʘ(^o^)ʗ 2. εΫϦʔϯτʔϯΛೖΕΔ 1. ྠֲΛܾΊͯϖϯೖΕ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 写真を画像処理して 漫画にするには?
ը૾ॲཧͰອըʹ͢Δ 3. ʘ(^o^)ʗ 2. εΫϦʔϯτʔϯΛೖΕΔ 1. ྠֲΛܾΊͯϖϯೖΕ ྠֲͲ͏͢Ε͔Δͷ͔ʁ Ͳ͜ʹͲΜͳεΫϦʔϯτʔϯΛೖΕΔʁ ʗ(^o^)ʘ
ը૾ॲཧͰອըʹ͢Δ
εΫϦʔϯτʔϯ1छྨ 斜線
ը૾ॲཧͰອըʹ͢Δ 3. ʘ(^o^)ʗ 2. εΫϦʔϯτʔϯΛೖΕΔ 1. ྠֲΛܾΊͯϖϯೖΕ ྠֲͲ͏͢Ε͔Δͷ͔ʁ Ͳ͜ʹͲΜͳεΫϦʔϯτʔϯΛೖΕΔʁ ʗ(^o^)ʘ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 簡単な画像(フィルター)処理を おさえておく
• നࠇʢάϨʔεέʔϧʣม • ΅͔͠ • ΨϯϚ • ηϐΞ • ճస
• ֦େɾॖখ • ߹ • etc ը૾(ϑΟϧλʔ)ॲཧͷछྨ ͱΓ͋͑ͣແݶʹ͋Δɻ
f = 0.299R + 0.587G + 0.114B നࠇʢάϨʔεέʔϧʣม (R, G,
B) = (0.6, 0.8, 0.1) f = 0.299*0.6 + 0.587*0.8 + 0.114*0.1 = 0.66 (0.6, 0.8, 0.1) -> (0.66, 0.66, 0.66) 白 = (1, 1, 1) -‐> (1, 1, 1) = 白 黒 = (0, 0, 0) -‐> (0, 0, 0) = 黒 มࣜ ͯ͢ͷըૉʹ͍ͭͯܭࢉͯ͠Δͱ
നࠇʢάϨʔεέʔϧʣม
΅͔͠ WikipediaʹΑΔͱ ΅͔͠ͱɺ ྠֲɺ৭ͷڥքΛ͖ͬΓ͠ͳ͍Α͏ʹ͢Δ͜ͱ ͋Δըૉʹ͍ͭͯɺ·ΘΓͷըૉͱͷڥΛແ͘͢ɻ ࣅͨΑ͏ͳ৭ʹ͢ΔΕྑ͍ɻ
पΓͱ৭ΛࠞͥΔ पΓͷ8ͭͷըૉͱࠞͥΔ ࣗࣗͷӨڹ͕Ұ൪ڧ͘ͳΔΑ͏ʹॏΈ͚ f = 0.6* 4 16 + 0.3*
2 16 + 0.5* 2 16 +...
पΓͱ৭ΛࠞͥΔ ͞ΒʹͦͷपΓΛؚΊͯ24ͷըૉͱࠞͥΔ f = 0.6* 36 256 + 0.3* 24
256 + 0.5* 24 256 +...
पΓͱ৭ΛࠞͥΔ ͞ΒʹͦͷपΓʢ͈́ ॏΈ͚ͬͯͲ͏͢Ε͍͍ʁ
Ψε(΅͔͠)ϑΟϧλʔ Ψεؔ पғʹߦ͘΄ͲॏΈ͚͕ খ͘͞ͳΔɻ PhotoshopͰར༻
Ψε(΅͔͠)ϑΟϧλʔ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ やっと漫画フィルターの話
ը૾ॲཧͰອըʹ͢Δ 3. ʘ(^o^)ʗ 2. εΫϦʔϯτʔϯΛೖΕΔ 1. ྠֲΛܾΊͯϖϯೖΕ ྠֲͲ͏͢Ε͔Δͷ͔ʁ Ͳ͜ʹεΫϦʔϯτʔϯΛೖΕΔʁ ʗ(^o^)ʘ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 1.輪郭を決める
ྠֲʹ͍ͭͯ ըૉ͕ٸܹʹมԽ͍ͯ͠ΔՕॴ͕ڥք ͦΕΛ݁ྠֲ͕Ͱ͖Δ ͔͜͜ΒάϨʔεέʔϧͰߟ͑·͢
ྠֲʹ͍ͭͯ ըૉ͕ٸܹʹมԽ͍ͯ͠ΔՕॴΛௐΕOK
ྠֲʹ͍ͭͯ ٸܹͳมԽ = ͖͕ٸ = ඍ͕ϐʔΫͷՕॴ ※ 2֊ඍ͕0ͷՕॴ
ྠֲʹ͍ͭͯ ըૉ͕ٸܹʹมԽ͢ΔՕॴ ϊΠζ͕ڥքͱͯ͠நग़͞Εͯ͠·͏
ը૾ͷϊΠζΛ͑Δ Ψε(΅͔͠)ϑΟϧλΛ͏ ڱ͍ൣғͰͷٸܹͳมԽΛ͓͑͞Δ͜ͱ͕Ͱ͖Δ ΅͔͠ɺ ྡͱͷ৭ͷڥքΛ͖ͬΓ͠ͳ͍Α͏ʹ͢Δ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ Cannyエッジ検出器 ը૾ͷྠֲΛநग़
CannyΤοδݕग़ث John F. Canny 1986ʹൃද ࠓͰΤοδݕग़ͷ ࠷ઌ(wikipedia)
CannyΤοδݕग़ث ٸܹʹըૉ͕มԽ͢ΔՕॴΛநग़ ྠֲΛਫ਼ࠪͨ͠Γɺͭͳ͍ͩΓ͢ΔॲཧΛܦͯ..
ྠֲநग़ OpenCV を使って抽出してみました
ྠֲநग़ OpenCV を使って抽出してみました
ྠֲநग़݁Ռ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 2.スクリーントーン ࠇృΓɺനృΓҰॹʹ
ྠֲҎ֎ʹ εΫϦʔϯτʔϯ 1. ന͵Γ 2. ࠇ͵Γ 3. εΫϦʔϯτʔϯ(ࣼઢ) ͷ3छྨ ը૾Λ3छྨʹృΓ͚Δ
ը૾ͷ৭ͷೱ͞ʹԠͯ͡3ͭͷྖҬʹΘ͚Δɻ ը૾ͷృΓ͚ ͦΕͧΕനɺࠇɺεΫϦʔϯτʔϯʹృΓ͚Δɻ 1 0 ࠇ εΫϦʔϯτʔϯ ന
ృΓ͚݁Ռ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 輪郭とスクリーントーンを合成
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ 悪くはないけど
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ ちょっと微妙
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ なぜ?
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ エッジが立っていないから
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ エッジが立っている素材を使おう
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ エッジが立っている人・・・
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ ࡍཱͭΤοδ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ カラー写真の上に 漫画を重ねれば カラー漫画っぽくなるのでは
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ
ɾύϥϝʔλʔΛ࠷దԽ͢Εɺͬͱ៉ྷʹͳΔɻ ɾεΫϦʔϯτʔϯͷछྨ૿͍ͨ͠ɻ ɾಈըͷϑΟϧλॲཧͬͯΈ͍ͨɻ ɾiOSʹσϑΥϧτͰࣸਅϑΟϧλ͕͍͍ͭͯΔɻ ɾອըΧϝϥνϟοτ͕ग़དྷΔɻ ·ͱΊ ϞϯαϯϛογΣϧ Χϥʔອը෩
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
͋ͨΓ·͑Λɺൃ໌͠Α͏ɻ