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
MangaCamera.pdf
Search
Livesense Inc.
PRO
April 22, 2014
0
34
MangaCamera.pdf
Livesense Inc.
PRO
April 22, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
40
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
13
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.4k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
390
26新卒_総合職採用_会社説明資料
livesense
PRO
0
8.7k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
27k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
12k
中途セールス職_会社説明資料
livesense
PRO
0
250
EM候補者向け転職会議説明資料
livesense
PRO
0
120
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Building Adaptive Systems
keathley
43
2.6k
Faster Mobile Websites
deanohume
307
31k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Cult of Friendly URLs
andyhume
79
6.5k
Balancing Empowerment & Direction
lara
1
380
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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ʹσϑΥϧτͰࣸਅϑΟϧλ͕͍͍ͭͯΔɻ ɾອըΧϝϥνϟοτ͕ग़དྷΔɻ ·ͱΊ ϞϯαϯϛογΣϧ Χϥʔອը෩
גࣜձࣾϦϒηϯε γεςϜ։ൃ෦ϝσΟΞ։ൃάϧʔϓ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
͋ͨΓ·͑Λɺൃ໌͠Α͏ɻ