2012年9月11日のブックマーク (5件)

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    ichizin
    ichizin 2012/09/11
    Android JNI
  • 画像処理 - HexeRein

    description 画像処理について。 ソースは24bitのビットマップ(及びその互換)、EclipseによるJava環境(org.eclipse.swt.graphicsとjava.utils.Arrays。具体的にはこんな感じ)を前提に記述していますが、ピクセル毎に入出力できる環境であれば任意に読み替えて問題ありません。 具体的には、画像から幅、高さ、指定場所の画素といったものが利用出来、なおかつそれから画像を生成できることが条件となります。 低機能でも良ければC++用の簡易クラス(.cppファイル、.hファイル)とかあります。 ただし、簡易クラスの方では色データはRGB纏まった形で取得するのではなくて、GetR等のように一つ一つの色を取り出す必要がありますので、以下のソースコードそのままでは使用できない場合(や、面倒な前処理が不要となる場合)があります。 なお、ソースそれ自体は適

  • ビットマップファイルの構造 その2 | ComputerScience - color pencils

    ',contentId:'evernote_clip_data'}); return false;" class="snsButton evernote entryId001481">clip evernote その1から少し時間あいてしまった(汗 ここでは少し残してた注意点を。 グレースケール画像とカラー画像について 主にグレースケール画像(モノクロ画像)として(BITMAOPINFOHEADERのbiBitCountの値が)8bit、カラー画像として24bitの画像を使います。 。。というよりこの2種類の画像しか扱ったことが無い(汗)ので、この二つを例にしますw グレースケール画像とカラー画像とは扱い方が少し違います。正確にはbiBitCount=8以下と16以上での扱いが違い、少し面倒な点も。 biBitCount=8以下の画像では、カラーテーブルが存在し、画像データの各ピクセルの数

    ビットマップファイルの構造 その2 | ComputerScience - color pencils
    ichizin
    ichizin 2012/09/11
  • 『Android C言語を触る(JNI, NDK など基礎知識)』

    画像処理ではRGB形式の他にYUV形式がある。 YUV形式のフォーマットは一般にPlanar, Semi-Planar, Interleavedの3つある。 尚ここでCr == V、Cv == U と同じ意味であることに注意。 planarはそれぞれのYUVのチャンネル毎にまとめてデータが置かれている。 semi-planarはYだけデータが置かれており、UVは交互に並んでいる。 interleavedはYUVが交互に並んで置かれている。 444であれば、それぞれのチャンネルはフルでサイズ分もっており、 422であればYだけフル、U, Vは1/2ずつ、 420(別名411)はYだけフル、U, Vは1/4ずつ持つ。 422, 420にする理由はデータ量圧縮のためである。 Androidにおいてカメラデバイスから来るフォーマットはAndroidは420 semiplanar( 420SP )で

    『Android C言語を触る(JNI, NDK など基礎知識)』
    ichizin
    ichizin 2012/09/11
  • Retouch Like a Instagram Image Effect/Filter on Android - natural days

    final int width = getResources().getDrawable(R.drawable.sampleimage).getIntrinsicWidth();         final int height = getResources().getDrawable(R.drawable.sampleimage).getIntrinsicHeight();                 int[] mColors = AndroidUtils.drawableToIntArray(getResources().getDrawable(R.drawable.sampleimage));         RescaleFilter filter = new RescaleFilter();         filter.setScale(getScale(130));  

    ichizin
    ichizin 2012/09/11