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

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

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

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

945閲覧

入力画像と出力画像の書き方がわからない。。

hikaparo

総合スコア17

OpenCV

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2019/01/11 05:07

以下のコードは教科書にひな形として乗っているもので、のちの章では「//ここに核となる~~」というところをいじるようなのです。
現在わからない点は、入力画像のファイル名と出力画像のファイル名はどう書けばよいのでしょうか?
ちなみに2値化をしようとしているところです。
とっても初歩的なことだとおもいます。。。よろしくお願いします。。

C++

1# define _CRT_SECURE_NO_WARNINGS 2# define _USE_MATH_DEFINES 3#include <iostream> 4#include <cmath> 5#include <opencv2/opencv.hpp> 6 7using namespace std; 8using namespace cv; 9string win_src = "src"; 10string win_dst = "dst"; 11 12int main() 13{ 14 string file_src = "src.png"; //入力画像のファイル名 15 string file_dst = "dst.png"; //出力画像のファイル名 16 Mat img_src = imread(file_src, 1); //入力画像(カラー)の読み込み 17 Mat img_src = imread(file_src, 0); //入力画像(グレースケール)の読み込み 18 19 Mat img_dst; 20 if (!img_src.data) { 21 cout << "error" << end1; 22 return -1; 23 } 24 25 //ウィンドウ生成 26 namedWindow(win_src, WINDOW_AUTOSIZE); 27 namedWindow(win_dst, WINDOW_AUTOSIZE); 28 29 //ここに核となる処理を記述する 30 int thresh = 100; 31 threshold(img_src, img_dst, thres, 255, THRES_BINARY); 32 33 waitKey(0) //キー入力待ち 34 return 0; 35} 36

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

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

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

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

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

y_waiwai

2019/01/11 05:10

ファイル名はコードにかいてありますが、これの何がわからないのでしょうか
hikaparo

2019/01/11 05:13

画像ファイルのある場所はどこにすればいいのかというのと、 そのファイルの場所を指定しなくてもいいのかなと疑問におもいました。
yohhoy

2019/01/16 05:47

FYI:「相対パス」「絶対パス」「カレントディレクトリ」などのキーワードで検索されると宜しいかと...
hikaparo

2019/01/22 04:01

遅くなってすみません ありがとうございます。できました!
guest

回答1

0

ベストアンサー

絶対パスの場合
std::string path = R"(C:\Users\myname\Desktop\test.png)"

相対パスの場合
ビルドして生成された exe があるディレクトリからの相対パス
std::string path = "test.png"

とりあえずよくわからなければ、絶対パスを記載すればよいと思います。


上の回答はパスの指定方法を説明しただけであり、変数名等を path に変更するように書いたわけではありません。
src.png, dst.png がどこにあるのかわからないですが、その置いてあるファイルの絶対パスをそれぞれ file_src, file_dst に書いてくださいという意味で書きました。

python

1# define _CRT_SECURE_NO_WARNINGS 2# define _USE_MATH_DEFINES 3#include <iostream> 4#include <cmath> 5#include <opencv2/opencv.hpp> 6 7using namespace std; 8using namespace cv; 9string win_src = "src"; 10string win_dst = "dst"; 11 12int main() 13{ 14 string file_src = R"(C:\Users\myname\Desktop\src.png)"; //入力画像のファイル名 15 string file_dst = R"(C:\Users\myname\Desktop\dst.png)"; //出力画像のファイル名 16 Mat img_src = imread(file_src, 1); //入力画像(カラー)の読み込み 17 Mat img_src = imread(file_src, 0); //入力画像(グレースケール)の読み込み 18 19 Mat img_dst; 20 if (!img_src.data) { 21 cout << "error" << end1; 22 return -1; 23 } 24 25 //ウィンドウ生成 26 namedWindow(win_src, WINDOW_AUTOSIZE); 27 namedWindow(win_dst, WINDOW_AUTOSIZE); 28 29 //ここに核となる処理を記述する 30 int thresh = 100; 31 threshold(img_src, img_dst, thres, 255, THRES_BINARY); 32 33 waitKey(0) //キー入力待ち 34 return 0; 35}

投稿2019/01/11 05:17

編集2019/01/11 05:41
tiitoi

総合スコア21956

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

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

hikaparo

2019/01/11 05:36

string file_src = "src.png"; //入力画像のファイル名 string file_dst = "dst.png"; //出力画像のファイル名 これを、 std::string path = R"(C:\Users\myname\Desktop\proleft\1.png)"; //入力画像のファイル名 std::string path = R"(C:\Users\myneme\Desktop\test\1.png)"; //出力画像のファイル名 こうしたのですが、ここだけ変えるのではだめなのでしょうか? mynameのところはもちろん自分の名前にしました。 string win_src = "src"; string win_dst = "dst"; ここらへんもいじるのでしょうか・・?
tiitoi

2019/01/11 05:43

ファイル名のパスの指定方法がわからないという質問だったので、指定方法の例を書いただけであって、それをそのままコピペするようにという意味ではありません。 画像が置いてあるパスを R"(パス)" のように書けばよいという意味の回答です。
hikaparo

2019/01/22 04:00

遅くなってすみません。できました! 自分の学習不足でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問