teratail header banner
teratail header banner
質問するログイン新規登録

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

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

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

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

Python

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

Q&A

解決済

1回答

3709閲覧

opencv のMatをbyte 列からつくりたい

kokawa2003

総合スコア217

OpenCV

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

Python

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

0グッド

0クリップ

投稿2019/07/29 07:38

0

0

C言語で
Byte列をMATにするとき
BYTE * ptrImageData=入力
Mat newImg = Mat(nImageHeight, nImageWidth, CV_8UC3, ptrImageData);
みたいなことをしますが
これをPythonでするとき、どう書きますか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

OpenCV の Python 版では画像は numpy 配列として扱うので、numpy の frombuffer でバイト列を numpy 配列に変換できます。

numpy.frombuffer — NumPy v1.15 Manual

python

1import numpy as np 2 3data = b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a' 4 5h, w, c = 3, 3, 3 # (画像の高さ, 画像の幅, チャンネル数) 6img = np.frombuffer(data, dtype=np.uint8).reshape(h, w, c) 7print(img) 8# [[[ 0 1 2] 9# [ 3 4 5] 10# [ 6 7 8]] 11# [[ 9 10 11] 12# [12 13 14] 13# [15 16 17]] 14# [[18 19 20] 15# [21 22 23] 16# [24 25 26]]]

投稿2019/07/29 07:57

tiitoi

総合スコア21960

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

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

kokawa2003

2019/08/02 19:14

うまく動作しました。ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問