Checking if you're logged in…
Send feedback Line Chart Stay organized with collections Save and categorize content based on your preferences. Overview A line chart that is rendered within the browser using SVG or VML. Displays tooltips when hovering over points. Examples Curving the Lines You can smooth the lines by setting the curveType option to function: The code to generate this chart is below. Note the use of the curveTyp
SwiftUIでアプリを開発していると@Stateや@Bindingの使い分けについて迷ったりしていませんか? SwiftUIではデータを管理するProperty Wrapperがたくさんあります。 @State、@Binding、@StateObject、@ObservedObjectなどなどです。 Property Wrapperそれぞれの特徴を理解できれば、SwiftUIのアプリ開発がはかどるでしょう。 今回はSwiftUIのデータ管理を行うProperty Wrapperの使い分けについて解説します。 この記事は私が12月9日に発表した資料、 「SwiftUIのデータ管理」を記事化したものです。 SwiftUIのデータ管理記事一覧 SwiftUIのデータ管理 Single Source of Truth編 前回の記事 SwiftUIのデータ管理 Property Wrapper編
2018年に軽トラハウスを作って、日本一周。 その後はずっと物置にしていました。 以前の記事の様子はこちら。 5年前はこんなにきれいだった(笑) 石垣島は9月までなので、この物置をなんとかしなければなりません。 ちなみに茶色の部分はベニアに穴があいたので、新しいベニアに張り替えました。 夕方5時、まだ暑い中、これを一緒...
2019.01.29 2 値化された画像の中に、非ゼロのピクセルが隣接してできた領域がある。このような非ゼロが隣接してつながった領域がオブジェクトとしてみなされる。例えば、下図では、4 つのオブジェクトが見られる。2 値画像では、情報を持つピクセルの値は 1 であり、情報を持たないピクセルの値は 0 であるので、画像に保存した際に、オブジェクトは白になる。 findContours メソッドの使い方 OpenCV では、オブジェクトの輪郭を検出するメソッド findContours が用意されている。このメソッドでは、画像中に含まれるすべてのオブジェクトを検出して、それぞれのオブジェクトにに有のラベル番号を振り分けている。ラベル番号は 1、2、3、・・・のようになり、オブジェクト分だけ振り分けられる。背景は、0 としてラベリングされる。このメソッドは、オブジェクトのラベリング結果とともに、
仮想通貨の自動取引について度々取り上げてきましたが、分析に機械学習を活用する中でpythonのscikit-learn等各種ライブラリやJupyter Notebookを使用しています。仮想通貨の自動取引自体にはそれ程多くのパッケージは必要ありませんが、分析作業のためにデータサイエンス用のpythonプラットフォームであるAnacondaをベースとした環境を活用しています。今まで仮想通貨の分析で使用している環境をAnacondaをベースとしてDockerコンテナ上で再現できるイメージを作成してみました(ここではディープラーニング用のライブラリはインストールしていません)。簡単な備忘録となっています。 Why Anaconda?AnacondaはpythonおよびRによるデータサイエンスを行うことができるオープンソースのプラットフォームで、Windows/Linux/Macでそれぞれサポート
TesseractというのはGoogleが開発を支援しているオープンソースのOCRエンジンです。 Tesseract本体のインストールについては公式のWikiを参照。もしくはググって下さい。 github.com TesseractのC/C++APIを使用するタイプと、tesseractコマンドを呼び出すタイプの2系統があります。 Web APIなどの形式で使う場合、tesseractコマンドを呼び出すタイプはリクエストの度にプロセスを生成することになるので好ましくないかと。 Python 3 pyocr pytesseract tesserocr Go gosseract: go-tesseract Ruby ruby-tesseract-ocr rtesseract Java Tess4J Swift(iOS) Windows Android tess-two APIとして完成している
未解決じゃーーーーー!!! どうもこんにちは。Reoです。タイトルの通りなんですが、ワケがわからんすぎて頭がおかしくなりそうです。 Dataの配列からfor文で1つずつ取り出してUIImageを作成していきたいのですがどうもうまくいかない。メモリがあびゃーする。 配列から取り出してリサイズする処理でメモリリークしてると思っていたのだけれど、どうやら違うみたいで・・・ //これでメモリリークする・・・・ for data in dataArray{ autoreleasepool{ let image = UIImage(data:data) } } Dataの入っている配列から1個ずつ取り出してUIImageを生成するというだけでメモリリークするのです。。。 色々実験してみたのでとりあえずは忘れないようにメモ。 以下のように書いて調べてみると、メモリはちゃんと解放される。 while tr
Swiftの優秀な言語仕様のおかげで、私たちがメモリ管理について意識することは少なくなりました。一方で、Swiftのメモリ管理方式では循環参照が発生し、メモリリークが起こることもあります。本記事ではこのような問題の対処方法も含め、Swiftにおけるメモリ管理を解説します。 値型のメモリ管理値型は、変数が使われなくなると(=スコープの範囲外に出ると)すぐに自動で解放されます。値型に関してはメモリ管理を考える必要はありません。 参照型のメモリ管理参照型は、その名の通り複数の箇所から1つのメモリを参照するので、使われなくなったかどうかを単純に判定することができません。そこでSwiftでは、Automatic Reference Counting, 通称ARCという方式を用いて、メモリ領域を自動的に管理してくれます。他言語ではGC(ガベージコレク ション)という名で同様の仕組みが提供されていること
DOCUMENT.md How to save data in iOS この投稿では、iOSのファイルシステムについて理解し、データを永続化(iCloud含む)する方法を紹介する。尚、サンプルコードは動かない可能性もあるので参考程度にして下さい。 iOS File System アプリがファイルシステムとやり取り出来る場所は、ほぼアプリのサンドボックス内のディレクトリに制限されている。新しいアプリがインストールされる際、インストーラーはサンドボックス内に複数のコンテナを作成し、図1に示す構成をとる。各コンテナには役割があり、Bundle Containerはアプリのバンドルを保持し、Data Containerはアプリとユーザ両方のデータを保持する。Data Containerは用途毎に、さらに複数のディレクトリに分けられる。アプリは、例えばiCloud Containerのように、実行時
UserDefaultsでデータのやりとりをしたいときの方法。Key-value型でサクッと使える。 アプリの細かなフラグ管理などで、とても便利そう。 <h3> 実行環境 </h3> Swift:5.0 Xcode:10.2.1 <h3> UserDefaultsでの保存、呼び出し、消去の仕方 </h3> import UIKit class ViewController: UIViewController { @IBOutlet weak var textView: UITextView! @IBOutlet weak var saveButton: UIButton! @IBOutlet weak var label: UILabel! @IBOutlet weak var readButton: UIButton! @IBOutlet weak var deleteButton: U
照明ムラがある環境下で二値化を行い対象物を抽出しようとする場合、普通に二値化処理を行うと大抵上手く抽出できません。 下の画像はその例で、画像上部が明るめ、画像下部が暗めのになっています。この画像から米粒を抜き出そうとして大津の方法を適用すると、照明ムラの影響を受けて上手く抽出できていないことが分かります。 このような時の対処法の例がMathWorksのホームページに掲載されており、今回はOpenCVで実装します。 jp.mathworks.com // 画像をグレースケールで読み込む Mat gray; imread("non_uniform_illumination_example.png", IMREAD_GRAYSCALE).copyTo(gray); if (gray.empty()) { throw runtime_error("Failed to open image"); }
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く