AI-画像の基本

    現在、AI Aは rtificial Iの 2つのブランチに分けntelligenceを:

  • 一般的なコンピュータによって:Cを omputer のV ision、CVと呼ばれます

  CVは、どのように世界のマシン理解するための技術を研究することで、対象物の識別、追跡および検出に対する人間の目の代わりに光学センサの様々なを通じて、様々な画像やビデオ入力を処理するために、マシンを可能にします。

  • 自然言語処理:N atural Lの anguageのPの rocessingは、NLPを呼び

  NLPは、マシンが、このようなように、最終的な言語翻訳の実装、インテリジェントな顧客サービスとしての技術の世界を、読む方法を研究することです。

    現在のプロジェクトに従事しているので、私はCVの知識を要約しますので、CVに基づいています。CVは、上記の導入から見ることができる最も直感的には、送信画像やビデオのマシンにある、マシンが世界を理解することです。次のようにその後、我々は、画像やビデオの基本を理解する必要があります。

画像の基本

    イメージといえば、最も直感的な静的な画像です。そして、画像を分割することができるビットマップ画像ベクトル画像

ビットマップ画像

    知られているビットマップ画像、ビットマップまたはラスタ画像は、指定された色とその特定の配列に応じて長方形の網点の数を指します。ビットマップが連続して一定の割合に拡大すると、我々は明らかに、各長方形のグリッドを見ることができます。次のとおりです。

実施例01図.PNG

一般的な画像形式の拡張子:JPG、BMP、PNG、JPEGなど

ベクター画像

    ベクターはまた、オブジェクト指向画像や描画画像と呼ばれ、画像は、典型的には、点、線、または多角形のような数学的オブジェクトに基づいて、ジオメトリによって表されます。最大の特徴は、歪められていない拡大画像と解像度に依存しません。次のとおりです。

02ベクトルの例.PNG

一般的なベクター形式の拡張子:、愛CDRおよび上そう。

画像処理の基本的な考え方

  • ピクセル:

基本画像単位

    画素(ピクセル、と略記PX)の概念の下に示すように、二つの単語画像要素とヘッドと見なすことができます。

PIX〜絵〜+エル〜要素〜=ピクセル

  • 画素サイズ

ビットマップ画像の長さおよび高さ方向の画素数

    我々は、多くの場合、長さ方向1920の画素ことが、高さ方向があり、この手段は、このような1920×1080の画像サイズとして、両方向に実際に長く高い画像のサイズは、画素数の画像を持っていると言います1080個のピクセル、総画素点:1920 * 1080 = 2073600、であるが、私たちはしばしば、この画像2万画素のレベルであると言います。

  • 画像解像度

画像解像度PPI(P IXEL P ER IのNchの)は、インチ当たりのピクセルの数を意味します。同じサイズ、より高い解像度、より小さなピクセル、鮮明な画像。

    例えば1×1インチの画像、50PPIは、画素の総数である:50 * 50 = 2500

  • ファイルサイズ

ファイルが占有するストレージスペースのサイズ

一般的な画像ファイル形式

  • PSD

Photoshopの特定の画像ファイルフォーマット、記録層、チャネル、カラーモード、基準線とファイル属性情報、大きなスペース

  • JPEG

非可逆圧縮ファイル形式、12の圧縮レベルを設定します。人間の目の画像及び色データ冗長性除去を検出することは困難です。そのため、画像の保管スペースは小さく、まれに影響画質によって占められます。この形式は、RGB、グレースケール、カラーモードなどをサポートしています。しかし、それはアルファチャンネルとレイヤーをサポートしていません。

  • GIF

非可逆圧縮ファイル形式は、画像のピクセルが失われたが、画像の色されません。多くの場合、Webページのデータ転送の画像ファイルとして保存するために使用され、しかし、それは256以上のカラー画像を保存することができず、層アルファチャンネルをサポートしていません。

  • PNG

画像形式はGIFやJPEGの利点は、両方の豊かな色彩と高い圧縮率で描画しますが、また、透明画像の生成をサポートしてダウンロードしながら表示することができますが、アニメーションをサポートしていません。

  • BMP

RGB、インデックスカラー、グレースケール、およびカラーモードをサポートしていますが、アルファチャンネルをサポートしていない標準の画像フォーマットでのWindows

カラー属性

  • 色相(Hue)

これは、各角度は色を表すことができる°範囲0°〜360で....例えば、赤、オレンジ、黄色などの色の種類と名前を指します。黄色60°;しばしば0度(360度)赤120度緑色、青色180度であり、240度青、マゼンタ300度。私たちは、色相に記述されているオブジェクトの色を記述する場合。

03色相.PNG

  • 彩度の各度(彩度)

100%の色又は純度、すなわち、0%(純粋な灰色)の強度で使用される式(完全飽和)値は、同じ色相の色純度の変化を記述する。値が大きいほど、より少ない色グレー、より鮮やかな色は、灰色の固体色の変化を示します。コンテンツの量で灰色のレベル

04飽和.PNG

  • 明るさ(輝度)

各色の相対的な輝度レベルのために使用され、その役割は、シェーディングの色を制御することです。また、100%(白)の範囲に0%(黒)を使用。より黒色に近い小さな値、暗い色、;近い白色に大きな値、明るい色、。文の要約は、白または黒の数と混合色

05輝度.PNG

  • コントラスト

これは、異なる色の間の差を指します。大きなコントラスト、大きい隣接色に対し2色の間のコントラスト。増加コントラストグレースケール画像は、画像は、黒と白の鮮やかになるコントラストを低減する、同じの異なる部分のカラー画像は、画像全体が灰色になり、最終的につながる傾向があります。

カラーモード

  • RGBカラーモード

    カラーモデルは、カラーデータで表現されていることをいいます。コンピュータフィールドにR&LT ED、Gレン、と呼ばれる原色成分を

06RGB.png

    通过这三种基色分量依据不同的比例可以调和出不同的颜色。在计算机领域中,RGB的取值为0~255,共256(2^8^)个值。如下所示在Windows自定义颜色

07カスタムカラー.PNG

通过RGB混合的方式,我们可计算出所表示的总颜色为256^3^=16777216,这即是大家常见的1600万色,而每一种可以用8bit来表示,所以表示三种颜色需要占用3*8=24bit,而这个颜色已经超出人眼能够识别的范围,故又称之为真彩色。

  • CMYK色彩模式

    CMYK是模拟印刷油墨的基本四色表示,以纯青色、洋红色、黄色、黑色去调配颜色,这种方式是以打印纸上的油墨的光吸收特性为基础的印刷模式。因此彩色印刷叫作四色印刷。

C:Cyan 青色
M:Magenta 品红色
Y:Yellow 黄色
K:blacK 黑色

08CMYK.png

  • 灰度模式

    指用单一色调表示图像,一个像素的颜色可以用8bit来表示,因此灰度模式的范围为0~255共256个灰度级别,最高为纯黑、最低为纯白,即是黑->灰->白的过渡。

灰度模式是不可逆的,一旦转换就会丢失颜色信息。
在RGB模式中,三个值相等的时候显示的就是灰度色彩模式

09グレースケール.PNG

  • Lab模式

    是光度分量和两个色度分量组成。

L:代表亮度,范围0~100%,记录图像的细节,但不记录颜色
A:从绿到红的光谱变化,范围在-120~120
B:从蓝到黄的光谱变化,范围-120~120

10LABモード.PNG

  • 位图模式

    彩色图像去掉彩色信息就变为灰度模式,那灰度模式去掉灰度信息,就只剩下黑与白,这种情况下,我们称之为位图模式。

図11モード.PNG

  • 索引模式

    根据图像中的像素来查找颜色,将查找的颜色定义为一个颜色表,用以存放并索引图像 中的颜色。索引图像最多只可包含256种颜色,因此容易出现失真的情况。

示例代码

    次のようにそんなに上に要約し、サンプルコードでの使用OpenCVのハンズオンを見てみましょう:

import cv2
import numpy as np

# 原始图片
imgPath=r"F:\编程资料\编程工程\OpenCV学习笔记\04其他\01测试图片\TestImage.jpg"
# 保存为灰度图片
saveImgAsGrayPath=r"F:\编程资料\编程工程\OpenCV学习笔记\04其他\01测试图片\SaveAsGrayImg.png"
# 保存为LAB模式图片
saveImgAsLabPath=r"F:\编程资料\编程工程\OpenCV学习笔记\04其他\01测试图片\SaveAsLABImg.png"
# 保存为位图图片
SaveImgAsBitPath=r"F:\编程资料\编程工程\OpenCV学习笔记\04其他\01测试图片\SaveAsGrayBit.png"
# 以彩色模式读入
img=cv2.imdecode(np.fromfile(imgPath,dtype=np.uint8),cv2.IMREAD_COLOR)
# 保存灰度图像
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imencode(".jpg",gray)[1].tofile(saveImgAsGrayPath)
# 保存为LAB模式
lab=cv2.cvtColor(img,cv2.COLOR_BGR2LAB)
cv2.imencode(".jpg",lab)[1].tofile(saveImgAsLabPath)
# 转换为位图模式
binaryImg=cv2.imdecode(np.fromfile(saveImgAsGrayPath,dtype=np.uint8),cv2.IMREAD_GRAYSCALE)
_,binary=cv2.threshold(binaryImg,100,255,cv2.THRESH_BINARY)
cv2.imencode(".jpg",binary)[1].tofile(SaveImgAsBitPath)

最後に、生成は以下の通りです:

図12は、コード生成を示す.PNG

おすすめ

転載: www.cnblogs.com/surpassme/p/11879387.html