android显示矩阵大小,关于android:显示代表灰度图像的双值矩阵
我的問題是:我有一個字節數組,必須與ImageView一起顯示。 這是我的代碼:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView)findViewById(R.id.show_image);
byte[] arrayBytes = ...; // It's initialized
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSample = 4;
imageView.setImageBitmap(BitmapFactory.decodeByteArray(arrayBytes,0,arrayBytes.length,options));
}
字節數組中存儲的每個字節都是double [] []的元素,但采用字節格式。 Android默認情況下使用ARGB_8888格式。
我不知道哪種是顯示灰度矩陣的最佳格式。
有什么建議嗎?
//編輯
此代碼中的問題是無法顯示圖像。 我認為我所做的轉換是錯誤的:
byte[] byteArray = new byte[SIZE];
int k = 0;
for(...i) {
for(...j) {
byteArray[k] = Double.valueOf(matrix[i][j]).byteValue();
k++;
}
}
var matrix是double [] [],它代表灰度圖像。 使用Double類的byteValue方法將每個像素轉換為字節。
我認為這是錯誤的,因為我使用的格式(ARGB_8888或RGB_565)每個像素需要一個以上的字節。
所以,我不知道如何改變它
如果要顯示的圖像數量最少,則可以使用ARGB_8888繼續
增強圖像清晰度和色彩
此處每個像素存儲在4個字節上。
如果要使用更多數量的圖像,請使用RGB_565
此處,每個像素存儲在2個字節上,僅RGB通道被編碼。
任何您想要的灰度圖像,都可以使用RGB_565,它消耗更少的RAM。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView)findViewById(R.id.show_image);
byte[] arrayBytes = ...; // It's initialized
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSample = 4;
// Add this line in your code
options.inPreferredConfig = Bitmap.Config.RGB_565;
imageView.setImageBitmap(BitmapFactory.decodeByteArray(arrayBytes,0,arrayBytes.length,options));
}
香港專業教育學院只是添加新的評論。 感謝您的回答。 您對公羊說的有趣
總結
以上是生活随笔為你收集整理的android显示矩阵大小,关于android:显示代表灰度图像的双值矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 内核级资源查看,Linux资
- 下一篇: java desktop mailto,