回答編集履歴
2
画像が真っ黒になってしまう原因について追記しました。
test
CHANGED
@@ -38,3 +38,23 @@
|
|
38
38
|
次のstackoverflowのQAを参考にしました。
|
39
39
|
https://stackoverflow.com/questions/58758370/how-could-i-initialize-the-state-variable-in-the-init-function-in-swiftui
|
40
40
|
|
41
|
+
### 追記2
|
42
|
+
|
43
|
+
コメントありがとうございます。
|
44
|
+
|
45
|
+
> しかし、表示された画像が真っ黒になってしまっており、原因がわからない状況です。
|
46
|
+
|
47
|
+
ごめんなさい。
|
48
|
+
質問内容が「アンラップできること」だったので、
|
49
|
+
そこまで確認していませんでした・・
|
50
|
+
|
51
|
+
20行目の`if color > threshold {`につきまして、
|
52
|
+
colorは0.5のような感じなのに対し、
|
53
|
+
thresholdの方は50(%単位?)のような感じのため、
|
54
|
+
全部elseの方(`color = 0`)になっているように見えました。
|
55
|
+
|
56
|
+
`if color > threshold / 100 {`
|
57
|
+
のように変更してみたらいかがでしょうか?
|
58
|
+
|
59
|
+
*createBinarizedImageを呼び出す時に単位変更の計算をしておいても良いと思います
|
60
|
+
|
1
コードを追記しました。
test
CHANGED
@@ -16,3 +16,25 @@
|
|
16
16
|
になっているかどうか、
|
17
17
|
確認してみると良いのかなと思いました。
|
18
18
|
|
19
|
+
### 追記
|
20
|
+
|
21
|
+
ごめんなさい。
|
22
|
+
PNGの画像で確認していたから8bitとか32bitのところで弾かれていたようでした。
|
23
|
+
JPEGの画像で確認したところその先に進みました。
|
24
|
+
|
25
|
+
次のようにするとimg_binのプロパティが設定できると思います。
|
26
|
+
|
27
|
+
```swift
|
28
|
+
// img_bin = img!.createBinarizedImage(r: r, g: g, b: b, a: a, threshold:bin)
|
29
|
+
_img_bin = State(initialValue: img!.createBinarizedImage(r: r, g: g, b: b, a: a, threshold:bin))
|
30
|
+
```
|
31
|
+
|
32
|
+
@Stateのプロパティラッパー型は、init(イニシャライザ)で初期値を設定するのに、
|
33
|
+
ちょっと特殊な書き方をするみたいです。
|
34
|
+
|
35
|
+
`_img_bin` のようにプロパティ名の先頭に「_」をつけます。
|
36
|
+
設定する値は`State(initialValue: ~)` のようにState構造体のイニシャライザを呼び出す形にします。
|
37
|
+
|
38
|
+
次のstackoverflowのQAを参考にしました。
|
39
|
+
https://stackoverflow.com/questions/58758370/how-could-i-initialize-the-state-variable-in-the-init-function-in-swiftui
|
40
|
+
|