画像処理

画像処理入門1

はじめに 画像処理、って聞くとなんだか難しそうなイメージがありますが、 実はやってみると、そんなに難しくありません。 たぶん難しいのは、画像処理を解説している本が、 難しそうな数式などを使っていたりと、 わざと難しく書いてあるだけなのではないか…

Pygameで画像処理

鮮鋭化です。 import pygame import math def saturate(param): if(param < 0): ret = 0 elif(param > 255): ret = 255 else: ret = param return ret # 鮮鋭化 # @param tBuf サーフェス # @return 変換後のサーフェス def transSharp(tBuf): retBuf = pyga…

鮮鋭化

鮮鋭化とは 今回は、鮮鋭化についてです。 鮮鋭化とは、ぼやけた画像をくっきりとした画像にすることです。 鮮鋭化の考え方 鮮鋭化の手順は、色の変化を二階微分して、 その値と元の値との差分を取ることで実現します。 と書いても、なんのことやら、って感…

Pygameで画像処理

左上方向のモーションブラーです。 import pygame import math # モーションブラー(左上) # @param tBuf サーフェス # @return 変換後のサーフェス def transBlur(tBuf): retBuf = pygame.transform.scale(tBuf, tBuf.get_size()) for j in range(retBuf.g…

Pygameで画像処理

ぼかしです。 import pygame import math # ぼかし # @param tBuf サーフェス # @return 変換後のサーフェス def transBlur(tBuf): retBuf = pygame.transform.scale(tBuf, tBuf.get_size()) for j in range(1, retBuf.get_height()-1): for i in range(1, r…

ぼかし・モーションブラー

ぼかしを行うにはどうすればよいのかというと、 ある点のピクセルを基点として、 上にある色 左にある色 右にある色 下にある色 自身の色 をすべて足して、5で割るとぼやけた感じの色になります。 モーションブラーとは、ぼかしを特定の方向に行うことによ…

Javaアプレット素材集

http://hp.vector.co.jp/authors/VA012735/ 画像処理の授業で先生に教えてもらったページです。 「Javaアプレット素材集」のところなのですが…。 画像処理道を極めようとしている私には本当に(*´Д`)ハァハァものです しかも、すべてオープンソースです。 …

Pygameで画像処理10

モザイク化です。 画面遷移時に使えますね。 import pygame import math # Mosaic # @param tBuf サーフェス # @param RECT モザイクをかける範囲 # @param SIZE モザイクの大きさ def transMosaic(tBuf, RECT, SIZE): if(SIZE < 1): return None retBuf = p…

Pygameで画像処理9

グレースケールの改良版です。 人の目は緑に最も良く反応し、続いて赤、青という反応をします。 よって、このように重みをかけると、 自然なグレースケールになるわけです。 import pygame import math _gSrc = None def main(): pygame.init() pygame.displ…

Pythonで画像処理8

輪郭抽出です。 大きめの画像でやると、そこそこキレイに抽出できますね。 import pygame import math _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("輪郭抽出") _gScr = pygame.display.get_surface…

Pygameで画像処理7

これで最後。ネガ変換です。 import pygame _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("ネガ変換") _gScr = pygame.display.get_surface() tBuf = pygame.image.load("kenmo.jpg").convert() # ネ…

Pygameで画像処理6

RGB成分入れ替えです。 import pygame _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("RGB抽出") _gScr = pygame.display.get_surface() tBuf = pygame.image.load("kenmo.jpg").convert() # RGB抽出 …

Pygameで画像処理5

ノリノリです。RGB抽出を。 import pygame _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("RGB抽出") _gScr = pygame.display.get_surface() tBuf = pygame.image.load("kenmo.jpg").convert() # RGB…

Pygameで画像処理4

続いて、2値変換を。 import pygame _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("2値変換") _gScr = pygame.display.get_surface() tBuf = pygame.image.load("kenmo.jpg").convert() threshold …

Pygameで画像処理3

次にセピア変換を。 import pygame _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("セピア変換") _gScr = pygame.display.get_surface() tBuf = pygame.image.load("kenmo.jpg").convert() # セピア変…

Pygameで画像処理2

ここからがホントの画像処理です。 で、超基本のグレースケールから、、。 import pygame _gSrc = None pygame.init() pygame.display.set_mode((150, 150), 0, 32) pygame.display.set_caption("グレースケール") _gScr = pygame.display.get_surface() tBu…

内挿法

ようやく画像処理の授業が幾何学変換に入り、 面白くなってきたので、ちょっとメモ書き。 画像の拡大処理について考えてみます。 拡大をする場合には、 拡大後のサイズを持った画像のバッファを作る そのサイズで(x,y)のループをする 元の画像に対応する色を…

グラデーション作成3

keim_at_Siさんの助言を元に、改造しました。 AB・AP BA・BP それ以外の場合は、n=(AB・AP)/(AB^2)⇒色=開始色*(1-n)+終了色*n う〜む、恐ろしいほどスッキリしてしまいました。 線形代数すばらしや…。 // =================================================…

グラデーション作成2

dx=0のときとdy=0のときは別処理にして、 それぞれマイナスのときは、スワップしてフラグを立て、最後に反転させることで対応しました〜。 // 汎用グラデーション作成(開始座標取得ポインタ) int (*GetStartX1)(float a, float b, int j, int x); int GetS…

グラデーション関数作成

学校の宿題のグラデーション関数を作成。 開始点と終了点、開始色と終了色を指定して、 直線のグラデーションを作るだけですが、、。 たったこれだけに、5h程かかりました…ふい〜(´Д`; なんというか、数学の力がものすごく不足してますね…。(トホホ…。 /…

Bitmap解析

今日からようやく学校が始まりました。 今日は画像処理で、Bitmapを読み込んでヘッダ情報を書き出すというものでした。 しかし、、、残念ながら時間内に完成できず、 Cのファイル入出力と文字列処理やらが理解できてないことが判明してしまいました、、。 よ…