Saturday, March 13, 2010

Java2DとJava Image Filters(pixels)を使用して画像にノイズをつける

Java2DとJava Image Filters(pixels)を使用して画像にノイズをつけるには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.image.*;

public class Java2DTest78
{
public static void main(String args[])
throws Exception
{
/* ノイズをつける */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);

NoiseFilter nf = new NoiseFilter();
img = nf.filter(img, imga);

ImageIO.write(img, "png", new File("sample1979a.png"));
}
}


元画像(sf.jpg)


出力画像(sample1979a.png)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Friday, March 12, 2010

PyOpenGLでワイヤーフレームの立方体を描画する

PyOpenGLでワイヤーフレームの立方体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_DEPTH_TEST)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glRotatef(-40, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glutWireCube(3.5)
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

Thursday, March 11, 2010

Java2DとJava Image Filters(pixels)を使用して画像を扇形に変形する

Java2DとJava Image Filters(pixels)を使用して画像を扇形に変形するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.composite.*;
import com.jhlabs.image.*;

public class Java2DTest76
{
public static void main(String args[])
throws Exception
{
/* 扇形に変形 */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);

CircleFilter cf = new CircleFilter();
cf.setHeight(80);
cf.setAngle(2 * ImageMath.PI * -10 / 360);
cf.setSpreadAngle(2 * ImageMath.PI * 160 / 360);
img = cf.filter(img, imga);

ImageIO.write(img, "png", new File("sample1977a.png"));
}
}


元画像(sf.jpg)


出力画像(sample1977a.png)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Wednesday, March 10, 2010

PyOpenGLで立方体を描画する

PyOpenGLで立方体を描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glRotatef(-40, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glutSolidCube(3.5)
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像


動作環境
python2.6.4, PyOpenGL3.0.0

関連項目
PyOpenGLで ワイヤーフレームの立方体を描画する

Tuesday, March 09, 2010

Java2DとJava Image Filters(pixels)を使用して画像を点画風に変換する

Java2DとJava Image Filters(pixels)を使用して画像を点画風に変換するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.image.*;

public class Java2DTest74
{
public static void main(String args[])
throws Exception
{
/* 点画風に変換 */
BufferedImage img = ImageIO.read(new File("sf.jpg"));
BufferedImage imga = new BufferedImage(
img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_ARGB
);

// モーションブラー
MotionBlurFilter mbf = new MotionBlurFilter(3f, 100f, 0.0f, 0.0f);
img = mbf.filter(img, null);

// 拡散
DiffuseFilter gf = new DiffuseFilter();
gf.setScale(3);
img = gf.filter(img, imga);

ContrastFilter ctf = new ContrastFilter();
ctf.setBrightness(1.2f);
ctf.setContrast(1.5f);
img = ctf.filter(img, null);

ImageIO.write(img, "png", new File("sample1975a.png"));
}
}


元画像(sf.jpg)


出力画像(sample1975a.png)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/

Monday, March 08, 2010

PyOpenGLでワイヤーフレームのティーポットを描画する

PyOpenGLでワイヤーフレームのティーポットを描画するには、以下のコードを実行します。


#coding:utf-8
import sys
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *

def display():
glEnable(GL_DEPTH_TEST)
glEnable(GL_COLOR_MATERIAL)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glPushMatrix()
gluLookAt(0,4,10, 0,0,0, 0,1,0)
glRotatef(-40, 0.0, 1.0, 0.0)
glColor3f(float(0xbb)/0xff, float(0xdd)/0xff, 0xff/0xff)
glutWireTeapot(2.5)
glPopMatrix()
glFlush()

def reshape(w,h):
glViewport(0, 0, w, h)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(45, w/h, 1, 100)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
glutInitWindowSize(200, 200)
glutCreateWindow('pyopengl')
glutReshapeFunc(reshape)
glutDisplayFunc(display)
glutMainLoop()


出力画像
PyOpenGLで描画したワイヤーフレームのティーポット

動作環境
python2.6.4, PyOpenGL3.0.0

Sunday, March 07, 2010

Java2DとJava Image Filters(pixels)を使用して引っかいたような画像を作成する

Java2DとJava Image Filters(pixels)を使用して引っかいたような画像を作成するには、以下のコードを実行します。


import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import com.jhlabs.image.*;

public class Java2DTest72
{
public static void main(String args[])
throws Exception
{
/* 引っかいたような画像を作成する */
BufferedImage img = new BufferedImage(
300, 300, BufferedImage.TYPE_INT_ARGB
);
ScratchFilter sf = new ScratchFilter();
sf.setAngle(10);
sf.setAngleVariation(0.8f);
sf.setColor(0xffc0c0c0);
sf.setDensity(0.9f);
sf.setLength(0.5f);
sf.setWidth(0.5f);
sf.setSeed(2009);

BufferedImage img2 = sf.filter(img, null);
ImageIO.write(img2, "png", new File("sample1973a.png"));
}
}


出力画像(sample1973a.png)


関連項目
Jerry Huxtableさんのホームページ
http://www.jhlabs.com/index.html
Java Image Filtersのページ
http://www.jhlabs.com/ip/filters/
java.net でのプロジェクトページ
https://pixels.dev.java.net/