Я изменил некоторые коды и получил желаемые результаты.
Bitmap bm = BitmapFactory.decodeFile(fp);
Matrix mx = new Matrix();
int w = bm.getWidth();
int h = bm.getHeight();
if (w > h) {
mx.postScale((float) 98 / h, (float) 98 / h);
bm = Bitmap.createBitmap(bm, (w - h) / 2, 0, h, h, mx, true);
} else {
mx.postScale((float) 98 / w, (float) 98 / w);
bm = Bitmap.createBitmap(bm, 0, (h - w) / 2, w, w, mx, true);
}
iv.setImageBitmap(bm);
iv.setBackgroundResource(R.drawable.btn_shp_selphoto);