1. 程式人生 > >線性迴歸實現顏色校正

線性迴歸實現顏色校正

在寫方程和程式碼之前還是先上定妝照吧,不然看了一大堆方程和程式碼,結果垃圾這不是耍流氓嘛~~
使用的標準色卡:
在這裡插入圖片描述
手機拍攝的色卡和校正後的影象:
在這裡插入圖片描述
可以看到校正後的影象顏色明顯鮮豔了許多,不過白色的偏差略大了點,不過夠用了。so…… 看看方程還是值得的 哈哈
======================= 我是人見人煩的線性方程組分割線 =================
設第i個標準色塊的RGB值為 R i

G i B i {R}_i , {G}_i, {B}_i , 則迴歸方程如下:
R i = a
11 v 1 i + a 12 v 2 i + + a 1 n v 1 i G i = a 21 v 1 i + a 22 v 2 i + + a 2 n v 1 i B i = a 31 v 1 i + a 32 v 2 i + + a 3 n v 1 i \begin{matrix} & {R}_i = {a}_{11}{v}_{1i} + {a}_{12}{v}_{2i} +…… + {a}_{1n}{v}_{1i}\\ & {G}_i = {a}_{21}{v}_{1i} + {a}_{22}{v}_{2i} +…… + {a}_{2n}{v}_{1i}\\ & {B}_i = {a}_{31}{v}_{1i} + {a}_{32}{v}_{2i} +…… + {a}_{3n}{v}_{1i} \end{matrix}


A = [ a 11 a 12 a 13 a 21 a 22 a 23 . . . . . . . . . . . . . . . a n 1 a n 2 a n 3 ] \begin{bmatrix} {a}_{11} & {a}_{12} & {a}_{13}\\ {a}_{21} & {a}_{22} & {a}_{23}\\ .....&.....&.....\\ {a}_{n1} & {a}_{n2} & {a}_{n3} \end{bmatrix}

v 1 i v 2 i v 3 i {v}_{1i} ,{v}_{2i} , {v}_{3i} 直接取原始影象的R,G,B值,迴歸效果不是很好,一般取R,G,B的多項式組合,即:
[1, R, G, B, RG, RB, BG, RR, BB, GG],所以有
V = [ v 11 v 12 . . . . v 1 n v 21 v 22 . . . . v 2 n . . . . . . . . . . . . . . . . . . . v m 1 v m 2 . . . . v m n ] \begin{bmatrix} {v}_{11} & {v}_{12} & ....&{v}_{1n}\\ {v}_{21} & {v}_{22} & ....&{v}_{2n}\\ .....&.....&....&.....&\\ {v}_{m1} & {v}_{m2} & ....&{v}_{mn} \end{bmatrix}

相關推薦

線性迴歸實現顏色校正

在寫方程和程式碼之前還是先上定妝照吧,不然看了一大堆方程和程式碼,結果垃圾這不是耍流氓嘛~~ 使用的標準色卡: 手機拍攝的色卡和校正後的影象: 可以看到校正後的影象顏色明顯鮮豔了許多,不過白色的偏差略大了點,不過夠用了。so…… 看看方程還是值得的 哈哈 ==============

機器學習筆記(二)線性迴歸實現

一、向量化 對於大量的求和運算,向量化思想往往能提高計算效率(利用線性代數運算庫),無論我們在使用MATLAB、Java等任何高階語言來編寫程式碼。 運算思想及程式碼對比   的同步更新過程向量化   向量化後的式子表示成為: 其中是一個向量,是一個實數,是一個向量,

吳恩達機器學習之多變數線性迴歸實現部分

C++實現梯度下降法 “linear_regression.h” //多變數線性迴歸模型 struct elem_var2 { double y; double* x; //用陣列傳入自變數資料(x[0]=1,便於之後的計算) }; class var2

吳恩達機器學習之單變數線性迴歸實現部分

C++實現 程式碼實現 “linear_regression.h” //單變數線性迴歸模型 struct elem_var1 { double x, y; //訓練集元素資料:自變數、因變數 }; class var1_lin_reg { p

100天專案 Day2 簡單線性迴歸實現

Day2 簡單限行迴歸實現 1.匯入資料集 2. 如果需要對資料集進行空值處理,特徵化處理 3. 拆分資料集為訓練集和測試集 4. 使用訓練集使用簡單線性迴歸模型來訓練 5. 預測結果 6. 訓練集結果視覺化。測試集結果視覺化 import pandas as pd im

Alink漫談(十) :線性迴歸實現 之 資料預處理

# Alink漫談(十) :線性迴歸實現 之 資料預處理 [TOC] ## 0x00 摘要 Alink 是阿里巴巴基於實時計算引擎 Flink 研發的新一代機器學習演算法平臺,是業界首個同時支援批式演算法、流式演算法的機器學習平臺。本文和下文將介紹線性迴歸在Alink中是如何實現的,希望可以作為大家看線

matlab實現線性迴歸成績預測

目的 1. 熟悉matlab基本語法。 2. 使用matlab進行繪圖。 3. 複習線性迴歸於梯度下降。 資料集 與之前的文章,樸素貝葉斯實現成績等級分類相同,也是某市一模考試成績(只保留了語文英語數學和總分) 假設函式 等號的左側代表預測的成績,左側(θ0,θ

梯度下降法實現最簡單線性迴歸問題python實現

梯度下降法是非常常見的優化方法,在神經網路的深度學習中更是必會方法,但是直接從深度學習去實現,會比較複雜。本文試圖使用梯度下降來優化最簡單的LSR線性迴歸問題,作為進一步學習的基礎。 import numpy as np import pandas as pd from numpy import *

線性迴歸5(嶺迴歸、LAR演算法實現LASSO演算法實戰)---機器學習

嶺迴歸演算法: 嶺迴歸原理不懂的,請先搞懂嶺迴歸的原理在實現,只看程式碼不懂原理和不學差不多,不懂的請看什麼是嶺迴歸,下面直接給出嶺迴歸的優化公式: 經過化簡以後的目標公式為:    原始的最小二乘法的無偏估計優化目標公式為:    

c++實現線性迴歸(高斯消元)(附python實現

前言 寫這次blog的契機是上次筆試的時候,遇到了這個問題 當時以為numpy庫是可以用的,就先寫了個python版,結果並不能用。。 最後憤然寫了個c++版 不過最後一個小問題導致我差了兩分鐘沒交上去程式碼,所以這一版原始碼只是通過了案例但沒有提交ac。。

機器學習實現——線性迴歸

線性迴歸,作為機器學習入門,比較好理解,小學數學中y=kx+b到研究生階段開始進行了深度研究,之前用兩對引數確定兩個未知數,現在用n對引數來估計一套近似值,不過由於未知數的數量,以及線性模型的不確定,要讓線性迴歸達到一個預測未來還是相當有難度的。隨著一些重要的模型和深度學習的引入,線性迴歸雖

tensorflow實現線性迴歸和邏輯迴歸

關於線性迴歸和邏輯迴歸的原理和python實現,請左轉:邏輯迴歸、線性迴歸。 這裡就直接貼程式碼了。 線性迴歸: # -*- coding: utf-8 -*- """ Created on Thu Aug 30 09:40:50 2018 @author: 96jie """ im

基於sciket-learn實現線性迴歸演算法

線性迴歸演算法主要用來解決迴歸問題,是許多強大的非線性模型的基礎,無論是簡單線性迴歸,還是多元線性迴歸,思想都是一樣的,假設我們找到了最佳擬合方程(對於簡單線性迴歸,多元線性迴歸對應多個特徵作為一組向量)y=ax+b,則對於每一個樣本點xi,根據我們的直線方程,預測值為y^i = axi + b,真

線性模型-線性迴歸實現 西瓜書

線性模型 給定d個屬性描述的例項x = (x1,x2,...,xd),其中xi是x在第i個屬性上的取值,線性模型想要學得一個通過屬性的線性組合來進行預測的函式,即:                  

ml課程:線性迴歸、邏輯迴歸入門(含程式碼實現

以下是我的學習筆記,以及總結,如有錯誤之處請不吝賜教。 本文主要介紹簡單的線性迴歸、邏輯迴歸先關推倒,以及案例程式碼。 昨天做專案發現K-means都忘了,想想之前很多基礎都忘了,於是決定重新開始學一遍ml的基礎內容,順便記錄一下,也算是梳理自己的知識體系吧。 機器學習:目前包括有監

梯度下降法求多元線性迴歸及Java實現

 對於資料分析而言,我們總是極力找數學模型來描述資料發生的規律, 有的資料我們在二維空間就可以描述,有的資料則需要對映到更高維的空間。資料表現出來的分佈可能是完全離散的,也可能是聚整合堆的,那麼機器學習的任務就是讓計算機自己在資料中學習到資料的規律。那麼這個規律通常是可以用一些函式來描述,

Tensorflow 實現簡單線性迴歸模型

    Tensorflow是深度學習常用的一個框架,從目前官方文件看,Tensorflow支援CNN、RNN和LSTM演算法,這都是目前在Image,Speech和NLP領域最流行的深度神經網路模型。     為了熟悉和理解tensor

線性迴歸之最小二乘法舉例推導及python實現

1 核心思想 通過最小化方差,使得擬合結果無限接近目標結果。 2 通過一元線性方程舉例說明 3 通過python實現一元線性擬合 import matplotlib.pyplot as plt import random # 用於儲存x,y擬合數據 x = []

用python來實現機器學習(一):線性迴歸(linear regression)

需要下載一個data:auto-mpg.data 第一步:顯示資料集圖 import pandas as pd import matplotlib.pyplot as plt columns = ["mpg","cylinders","displacement","horsepowe

線性迴歸的Cost function實現

此處使用Octave來實現 線性方程的代價函式:   代價函式:   X 是測試值,假設用矩陣表示為         為了方便用矩陣計算我們把X加一列 1 :        &