SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
LINQで画像処理
     momo_*(@tututen)
自己紹介
●   某北見市で働く職業プログラマ
●   趣味でもプログラム書くことがあります
●   お仕事:C言語、(Python、C#)
●   趣味:ほぼ何でも(※アセンブリを除く)
●   パネルでポン(以下、パネポン)ができます
●   タグ「友達がいないとこうなります」で検索!
●   あと、手元を映したUst動画もあったりします
地図
地図
自己紹介
●   某北見市で働く職業プログラマ
●   趣味でもプログラム書くことがあります
●   お仕事:C言語、(Python、C#)
●   趣味:ほぼ何でも(※アセンブリを除く)
●   パネルでポン(以下、パネポン)ができます
●   タグ「友達がいないとこうなります」で検索!
●   あと、手元を映したUst動画もあったりします
検索結果
最近のタグ(7/7 13:00現在)
Ust風景




http://www.ustream.tv/recorded/20923039
LINQについて
Language Integrated Query の略称で、 C# や VB
などの .NET Framework 対応言語に、 リレーショ
ナルデータや XML に対するデータ操作構文を組
み込む (+ データベースや XML 操作用のライブ
ラリ)

引用:http://ufcpp.net/study/csharp/sp3_linq.
html
LINQについて

0   1   2   3                            0   2

4   5   6   7                            4   6
                Where(p => p % 2 == 0)
8   9   10 11                            8   10

12 13 14 15                              12 14
LINQについて

 0   2                                "0" "2"

 4   6                                "4" "6"
          Select(p => p.ToString())
 8   10                               "8"   "10"

 12 14                                "12" "14"
今回の説明する機能
今回の説明する機能
画像処理の主な手順
● 画像をグレースケール(モノクロ)化
● 画像を二値化
● テンプレート画像とのマッチング
グレースケール(モノクロ)化
● 中間値法
● NTSC系加重平均法
  (NTSC=National Television System Commitee
  (全米テレビジョン放送標準化委員会))
グレースケール(モノクロ)化
● 中間値法
● NTSC系加重平均法
  (NTSC=National Television System Commitee
  (全米テレビジョン放送装標準化委員会))
   


 R * 0.298912 + G * 0.586611 + B * 0.114478
グレースケール(モノクロ)化




    ※画像はイメージです!
二値化
● 各画素の値を取る
● しきい値によって「0」or「255」を設定するだけ




       ※画像はイメージです!
LINQ的にどう書く?
1. 画像を画素のシーケンシャルに変換
2. 各画素に対してグレースケール化
3. グレースケールした画素に対して、二値化
LockBits
1. Bitmap型のデータをByte配列にする
2. 画像のフォーマットによって、1画素の情報が違
   う
3. PixelFormat.Format32bppArgbの場合byte[4]
   に1画素の情報が入り、1byteごとにBlue、
   Green、Red、Alphaのデータが入る。
LockBits
各画素をグレースケール化
1. [0 .. 画像サイズ*4byte分]のシーケンシャル
   データを生成
2. 4の倍数のシーケンシャルデータにフィルタ
3. NTSC系加重平均法の公式を当てはめる
各画素をグレースケール化
Enumerable.Range(0, bmp.Width * bmp.Height * 4) // 1
各画素をグレースケール化
Enumerable.Range(0, bmp.Width * bmp.Height * 4) // 1
         .Where(p => p % 4 == 0)              // 2
各画素をグレースケール化
Enumerable.Range(0, bmp.Width * bmp.Height * 4) // 1
         .Where(p => p % 4 == 0)                       // 2
         .AsParallel()                                 // 並列化
         .ForAll(p => {
             double cr = 0.298912, cg = ..., cb = ...;
             byte g = (byte)(cr * ba[i + 0] +
                             cg * ba[i + 1] +
                             cb * ba[i + 2])
             ba[i + 0] = ba[i + 1] = ba[i + 2] = g;
          });
各画素を二値化
Enumerable.Range(0, bmp.Width * bmp.Height * 4) // 1
         .Where(p => p % 4 == 0)                       // 2
         .AsParallel()                                 // 並列化
         .ForAll(p => {
             double cr = 0.298912, cg = ..., cb = ...;
             byte g = (byte)(cr * ba[i + 0] +
                             cg * ba[i + 1] +
                             cb * ba[i + 2])
             ba[i + 0] = ba[i + 1] = ba[i + 2] =
               g < th ? 0 : 255;
          });
テンプレート画像でマッチング
     ● 空白・数字「1−9」までのテンプレート画像を用
       意
     ● 上記のテンプレート画像を二値化した画像と、
       マスの画像を二値化した画像を比較
     ● 比較結果が最も似ているものをその数値と断定
       する。

37

                 370
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
          .Select((p, i) => new {

           })
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
          .Select((p, i) => new {
             Num = i,
          })
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
          .Select((p, i) => new {
              Num = i,
              Count = Enumerable.Range(0, 37 * 37)
                                   .Count(
                        q => CellImgByte[q] ==
TmplImgByte[i * 37 + q % 37 + q / 37 + i * 370] ) // 2
          })
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
          .Select((p, i) => new {
              Num = i,
              Count = Enumerable.Range(0, 37 * 37)
                                   .Count(
                        q => CellImgByte[q] ==
TmplImgByte[i * 37 + q % 37 + q / 37 + i * 370] ) // 2
          })
          .OrderByDescending( p => p.Count )
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
          .Select((p, i) => new {
              Num = i,
              Count = Enumerable.Range(0, 37 * 37)
                                   .Count(
                        q => CellImgByte[q] ==
TmplImgByte[i * 37 + q % 37 + q / 37 + i * 370] ) // 2
          })
          .OrderByDescending( p => p.Count )
          .First()
テンプレート画像でマッチング
Enumerable.Range(0, 10) // 1
          .Select((p, i) => new {
              Num = i,
              Count = Enumerable.Range(0, 37 * 37)
                                   .Count(
                        q => CellImgByte[q] ==
TmplImgByte[i * 37 + q % 37 + q / 37 + i * 370] ) // 2
          })
          .OrderByDescending( p => p.Count )
          .First()
          .Num; // 3
まとめ
● 各画素に対して行う画像処理とLINQの相性は
  ばっちし!
● 今日からあなたもわたしもLINQ!LINQ!
ご清聴
ありがとうございました

Contenu connexe

Tendances

30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座
Sakiyama Kei
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
智啓 出川
 
2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算
2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算
2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算
智啓 出川
 
Overcoming browser cookie churn with clustering in wsdm2012 reading
Overcoming browser cookie churn with clustering in wsdm2012 readingOvercoming browser cookie churn with clustering in wsdm2012 reading
Overcoming browser cookie churn with clustering in wsdm2012 reading
ybenjo
 
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
智啓 出川
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
智啓 出川
 

Tendances (20)

30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
 
魅せる・際立つ・役立つグラフ Hands on!! ggplot2!! ~導入編~
魅せる・際立つ・役立つグラフ Hands on!! ggplot2!! ~導入編~魅せる・際立つ・役立つグラフ Hands on!! ggplot2!! ~導入編~
魅せる・際立つ・役立つグラフ Hands on!! ggplot2!! ~導入編~
 
OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群OpenCVの拡張ユーティリティ関数群
OpenCVの拡張ユーティリティ関数群
 
Neo3 D Overview 1004 Jpn
Neo3 D Overview 1004 JpnNeo3 D Overview 1004 Jpn
Neo3 D Overview 1004 Jpn
 
Statistical machine learning
Statistical machine learningStatistical machine learning
Statistical machine learning
 
2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算
2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算
2015年度GPGPU実践プログラミング 第12回 偏微分方程式の差分計算
 
Processingによるプログラミング入門 第4回
Processingによるプログラミング入門 第4回Processingによるプログラミング入門 第4回
Processingによるプログラミング入門 第4回
 
CG2013 01
CG2013 01CG2013 01
CG2013 01
 
Overcoming browser cookie churn with clustering in wsdm2012 reading
Overcoming browser cookie churn with clustering in wsdm2012 readingOvercoming browser cookie churn with clustering in wsdm2012 reading
Overcoming browser cookie churn with clustering in wsdm2012 reading
 
Hpc148
Hpc148Hpc148
Hpc148
 
MCMC and greta package社内勉強会用スライド
MCMC and greta package社内勉強会用スライドMCMC and greta package社内勉強会用スライド
MCMC and greta package社内勉強会用スライド
 
DP特集
DP特集DP特集
DP特集
 
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回
 
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
 
動的計画法の並列化
動的計画法の並列化動的計画法の並列化
動的計画法の並列化
 
CG2013 05
CG2013 05CG2013 05
CG2013 05
 
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
2015年度GPGPU実践プログラミング 第9回 行列計算(行列-行列積)
 
CG2013 02
CG2013 02CG2013 02
CG2013 02
 
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
 

En vedette

100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術
Tatsuya Iwama
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1
一希 大田
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
 
どこでも使えるF sharp again pub
どこでも使えるF sharp again pubどこでも使えるF sharp again pub
どこでも使えるF sharp again pub
Masahiko Miyasaka
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期
yone64
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
 

En vedette (17)

LINQ を使ったナンプレの解法を作ったお話
LINQ を使ったナンプレの解法を作ったお話LINQ を使ったナンプレの解法を作ったお話
LINQ を使ったナンプレの解法を作ったお話
 
100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術100枚の中から2枚を選ぶlightroom術
100枚の中から2枚を選ぶlightroom術
 
Rx入門
Rx入門Rx入門
Rx入門
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 
Reactive extensions
Reactive extensionsReactive extensions
Reactive extensions
 
どこでも使えるF sharp again pub
どこでも使えるF sharp again pubどこでも使えるF sharp again pub
どこでも使えるF sharp again pub
 
超Linq入門 実践編
超Linq入門 実践編超Linq入門 実践編
超Linq入門 実践編
 
Wpfと非同期
Wpfと非同期Wpfと非同期
Wpfと非同期
 
超LINQ入門
超LINQ入門超LINQ入門
超LINQ入門
 
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JITBeachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
 
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
ZeroFormatterに見るC#で最速のシリアライザを作成する100億の方法
 
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
Xamarin概要
Xamarin概要Xamarin概要
Xamarin概要
 
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
 

Similaire à Linqで画像処理

ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会
Tatsuhiko Kubo
 
Hokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slideHokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slide
Tohru Shinohara
 
Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門
cocopon
 
2012 kanemotolablecture3
2012 kanemotolablecture32012 kanemotolablecture3
2012 kanemotolablecture3
ytanno
 
[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜
[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜
[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜
Michiharu Niimi
 
How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)
sleipnir002
 

Similaire à Linqで画像処理 (20)

ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会ngx_small_light at 第2回闇鍋プログラミング勉強会
ngx_small_light at 第2回闇鍋プログラミング勉強会
 
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
文献紹介:Rethinking Data Augmentation for Image Super-resolution: A Comprehensive...
 
Hokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slideHokkaido.pm.casual #03 slide
Hokkaido.pm.casual #03 slide
 
Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門Core Graphicsでつくる自作UIコンポーネント入門
Core Graphicsでつくる自作UIコンポーネント入門
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」Tokyo.R #19 発表資料 「Rで色々やってみました」
Tokyo.R #19 発表資料 「Rで色々やってみました」
 
Introduction to NumPy & SciPy
Introduction to NumPy & SciPyIntroduction to NumPy & SciPy
Introduction to NumPy & SciPy
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
機械学習
機械学習機械学習
機械学習
 
画像処理の高性能計算
画像処理の高性能計算画像処理の高性能計算
画像処理の高性能計算
 
Sec15 dynamic programming
Sec15 dynamic programmingSec15 dynamic programming
Sec15 dynamic programming
 
2012 kanemotolablecture3
2012 kanemotolablecture32012 kanemotolablecture3
2012 kanemotolablecture3
 
パターン認識モデル初歩の初歩
パターン認識モデル初歩の初歩パターン認識モデル初歩の初歩
パターン認識モデル初歩の初歩
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
 
[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜
[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜
[チュートリアル講演]画像データを対象とする情報ハイディング〜JPEG画像を利用したハイディング〜
 
SFC Design theory 2012 6/6
SFC Design theory 2012 6/6SFC Design theory 2012 6/6
SFC Design theory 2012 6/6
 
PythonによるDeep Learningの実装
PythonによるDeep Learningの実装PythonによるDeep Learningの実装
PythonによるDeep Learningの実装
 
How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)How to use animation packages in R(Japanese)
How to use animation packages in R(Japanese)
 
Gnuplotあれこれ
GnuplotあれこれGnuplotあれこれ
Gnuplotあれこれ
 

Plus de Fumihito Yokoyama

Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Fumihito Yokoyama
 

Plus de Fumihito Yokoyama (20)

Aws その他の概要と勘所
Aws その他の概要と勘所Aws その他の概要と勘所
Aws その他の概要と勘所
 
Aws lambdaで[ソンナコ]を実装してみた
Aws lambdaで[ソンナコ]を実装してみたAws lambdaで[ソンナコ]を実装してみた
Aws lambdaで[ソンナコ]を実装してみた
 
re:Inventで発表されたAWS Lambdaの更新情報と使い方考察
re:Inventで発表されたAWS Lambdaの更新情報と使い方考察re:Inventで発表されたAWS Lambdaの更新情報と使い方考察
re:Inventで発表されたAWS Lambdaの更新情報と使い方考察
 
今年やってきた中で書いてきたコード
今年やってきた中で書いてきたコード今年やってきた中で書いてきたコード
今年やってきた中で書いてきたコード
 
制約をつけて遊ぼう
制約をつけて遊ぼう制約をつけて遊ぼう
制約をつけて遊ぼう
 
Ohotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみようOhotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみよう
 
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
Osc2014 聞くだけじゃもったいない!観客と発表者の双方向通信を実現する「投げ銭box」
 
投げ銭Boxのwebクライアントを作ってみた
投げ銭Boxのwebクライアントを作ってみた投げ銭Boxのwebクライアントを作ってみた
投げ銭Boxのwebクライアントを作ってみた
 
Clrh87 minecraftでのタートルのご紹介
Clrh87 minecraftでのタートルのご紹介Clrh87 minecraftでのタートルのご紹介
Clrh87 minecraftでのタートルのご紹介
 
Ohotech 特盛#5 長距離運転の考察ver2
Ohotech 特盛#5 長距離運転の考察ver2Ohotech 特盛#5 長距離運転の考察ver2
Ohotech 特盛#5 長距離運転の考察ver2
 
Code jp2013で行った ショートコーディング について
Code jp2013で行った ショートコーディング についてCode jp2013で行った ショートコーディング について
Code jp2013で行った ショートコーディング について
 
長距離運転の考察
長距離運転の考察長距離運転の考察
長距離運転の考察
 
リバーシの条件判定をlinqで
リバーシの条件判定をlinqでリバーシの条件判定をlinqで
リバーシの条件判定をlinqで
 
Clrh81 windowsで定期的にキャプチャするために
Clrh81 windowsで定期的にキャプチャするためにClrh81 windowsで定期的にキャプチャするために
Clrh81 windowsで定期的にキャプチャするために
 
monoを使ってlt countdowntimerを動かしてみる
monoを使ってlt countdowntimerを動かしてみるmonoを使ってlt countdowntimerを動かしてみる
monoを使ってlt countdowntimerを動かしてみる
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
Ldd kitami(宣伝用 clrh70)
Ldd kitami(宣伝用 clrh70)Ldd kitami(宣伝用 clrh70)
Ldd kitami(宣伝用 clrh70)
 
関数型忘年会Lt用
関数型忘年会Lt用関数型忘年会Lt用
関数型忘年会Lt用
 
Ohotech #8 tututen pdf用
Ohotech #8 tututen pdf用Ohotech #8 tututen pdf用
Ohotech #8 tututen pdf用
 
忙しい人のためのSphinx 入門 demo
忙しい人のためのSphinx 入門 demo忙しい人のためのSphinx 入門 demo
忙しい人のためのSphinx 入門 demo
 

Linqで画像処理