[過去ログ] Pythonのお勉強 Part63 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
685
(1): デフォルトの名無しさん (ワッチョイ ce8c-QWST) [] 2020/07/30(木) 19:47:01.34 ID:sKox1nf30(1/6) AAS
元々の型を維持したいときどうすればいいですか?例えば
def func(v):
return v if v > 4 else 0

a = [1, 2, 3.4, 5]
print(list(map(func, a)))
の出力は
[0, 0, 0, 5]です。これを
[0, 0, 0.0, 5]にしたいのですが、何をどうしていいやら。
例えば"else 0"のところを、"type(v)(0)"とかまでやってみましたが
うまくいきません。どなたかぁ、教えてください・・・
688: デフォルトの名無しさん (ワッチョイ ce8c-QWST) [] 2020/07/30(木) 20:30:42.67 ID:sKox1nf30(2/6) AAS
>> 686
あれ??できました。
なんでできないと思ったんだろう・・・
もしかして保存忘れ?ありがとうございました!!
689: デフォルトの名無しさん (ワッチョイ ce8c-QWST) [] 2020/07/30(木) 21:00:54.90 ID:sKox1nf30(3/6) AAS
さきほどtypeの扱いで質問したものです。
OpenCVを使っているのですが

次に貼るプログラムを書くとエラー「TypeError: Expected Ptr<cv::UMat> for argument 'mv'」が最終行で出ます。
最終行のHをZに変えると動きます。
型が違うのかなと、色々デバッグプリントしてるのですが、その結果は以下の通りでZとHの間に違いがあるように見えません。
どうしてなんでしょうか・・
690: デフォルトの名無しさん (ワッチョイ ce8c-QWST) [] 2020/07/30(木) 21:01:34.87 ID:sKox1nf30(4/6) AAS
import numpy as np
import cv2

def norm(v, m, s, t):
return np.uint8(0)

img = cv2.imread("hoge.jpg")

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h,s,v = cv2.split(hsv)

print("about: h=====================")
print(type(h), type(h[0][0]), h, h.shape, sep='\n')

f = np.frompyfunc(norm, 4, 1)
H = f(h, np.mean(h), np.std(h), img.dtype)
print("about: H=====================")
print(type(H), type(H[0][0]), H, H.shape, sep='\n')

height, width = img.shape[:2]
Z = np.zeros((height, width), np.uint8)
print("about: Z=====================")
print(type(Z), type(Z[0][0]), Z, Z.shape, sep='\n')

h_img = cv2.merge((Z, h, h))
691: デフォルトの名無しさん (ワッチョイ ce8c-QWST) [] 2020/07/30(木) 21:03:11.67 ID:sKox1nf30(5/6) AAS
ちなみにデバッグログは
about: h=====================
<class 'numpy.ndarray'>
<class 'numpy.uint8'>
[[ 50 50 20 ... 95 96 87]
...
[103 103 103 ... 30 30 30]]
(383, 510)
about: H=====================
<class 'numpy.ndarray'>
<class 'numpy.uint8'>
[[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]]
(383, 510)
about: Z=====================
<class 'numpy.ndarray'>
<class 'numpy.uint8'>
[[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]]
(383, 510)
このような感じで、HとZに違いが私にはわかりません・・(改行多いと言われたので少し省略してます)
693
(1): デフォルトの名無しさん (ワッチョイ ce8c-QWST) [] 2020/07/30(木) 21:06:46.58 ID:sKox1nf30(6/6) AAS
>>692
コーディング中の貧乏ゆすりはしていません
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.044s