質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

862閲覧

画像を切り出したい。

zuzu1984

総合スコア31

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/03/14 16:14

何度やってもうまく切り出せないので、教えて頂きたいです。

・画像があります。
・左右-15%ずつの範囲で切り出したいです(赤枠のような範囲)

【元画像】

【切り出したい範囲】
イメージ説明

python,

1 img = cv2.imread(os.path.join(r'C:\python', 'lond.png')) # 画像を呼び出す 2 print(img.shape) # 上の画像のサイズを取得 3 #(高さ:178, 幅:558, 色:3) 4 h, w, c = img.shape # 取得した値を変数に格納 5 #------------------------------------- 6 print('width = ', w) 7 print('height = ', h) 8 print('color = ', c) 9 #------------------------------------- 10 width_15 = w * 0.15 # 横幅の15%を求める 11 print('width_15 = ', width_15) 12 print('Left-15 = ', w - width_15) # 幅の15% 13 left_cut = w - width_15 # 幅 - 15% 14 print('left_cut = ', left_cut) 15 16 width_R15 = width_15 * 2 # 左右15%(30%)文を切り出したいので 17 print('width_R15 = ', width_R15) 18 ww = w - width_15 19 20 print(width_15) 21 int(width_15) 22 print(width_15) 23 print(h) 24 25 dst = img[width_15:1,width_R15:h]

考え方自体がおかしいのかもしれませんが。。。
上記を実行すると、以下のエラーが発生します。

python

1Traceback (most recent call last): 2 File "C:\python\main_gazouwokiritoru.py", line 85, in <module> 3 dst = img[width_15:1,width_R15:h] 4TypeError: slice indices must be integers or None or have an __index__ method

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

width_15 及び width_R15 を width_15 = int(w * 0.15) のように整数にしてみてください。

Python

1>>> 'spam'[1.0:3.0] 2Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4TypeError: slice indices must be integers or None or have an __index__ method 5>>> 6>>> 'spam'[1:3] 7'pa'

投稿2019/03/14 16:40

LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問