C++
で画像処理を学びたいが、画像操作にサードパーティのライブラリを使用したくない。イメージを表示するためのライブラリの使用は問題ありませんが、すべての操作は手動で行う必要があります。C++画像処理チュートリアルwithuotサードパーティライブラリ
良いチュートリアルを教えてください。私はこの分野の初心者ですから、イメージを表示する方法も知っておく必要があります。
C++
で画像処理を学びたいが、画像操作にサードパーティのライブラリを使用したくない。イメージを表示するためのライブラリの使用は問題ありませんが、すべての操作は手動で行う必要があります。C++画像処理チュートリアルwithuotサードパーティライブラリ
良いチュートリアルを教えてください。私はこの分野の初心者ですから、イメージを表示する方法も知っておく必要があります。
あなたはデジタル画像処理の基本知識が不足しているようですが、この本をお勧めします。 (私は精通しています)のOpenCVを使用して、基本的な操作のために ディジタル画像処理(第3版)ラファエル・C.Gonzalez /リチャードE.Woods http://www.amazon.com/dp/013168728X
は、ここでの例です:
/*
function:image reverse
*/
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char *argv[])
{
IplImage* img = 0;
int height,width,step,channels;
uchar *data;
int i,j,k;
if(argc<2)
{
printf("Usage: main <image-file-name>/n/7");
exit(0);
}
// Load image
img=cvLoadImage(argv[1],-1);
if(!img)
{
printf("Could not load image file: %s\n",argv[1]);
exit(0);
}
// acquire image info
height = img->height;
width = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar *)img->imageData;
printf("Processing a %dx%d image with %d channels/n",height,width,channels);
// create display window
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", 100, 100);
// reverse image
for(i=0;i<height;i++)
for(j=0;j<width;j++)
for(k=0;k<channels;k++)
data[i*step+j*channels+k]=255-data[i*step+j*channels+k];
// display reversed image
cvShowImage("mainWin", img);
cvWaitKey(0);
cvReleaseImage(&img);
printf("height=%d width=%d step=%d channels=%d",height,width,step,channels);
return 0;
}
は(CIMGをお試しくださいそれは完全に自己完結しています) - http://cimg.sourceforge.net/
あなたはpremadeライブラリを使用せずに画像を操作したいですか?あなたは非常に、非常に長い道を先にしています。そのためのチュートリアルはありません。 JPG仕様を読んで、操作を想像している理論を理解してから(単純なものをトリミングしない限り)、JPGの特定のフォーマットにその操作を適用する必要があります。そして、あなたはPNG、GIFなどのために繰り返す必要があります – Corbin
あなたのターゲットが画像*処理*であるならば、あなたは少なくともpng、jpeg、tiff、などの様々なコンテナフォーマットから画像を読み込むためにライブラリを使うべきです... 。これらは、それ自体が処理とは関係ありません。次にこの質問は明らかに広すぎる、googleを使用することです。 – KillianDS
主な目的がデジタル画像処理を学ぶことであるならば、まずC++の代わりにMatlabを使うことをお勧めします。 – Korchkidu