主頁 > 軟體工程 > 跪求大神幫忙用opencv識別出分辨力板中的級數

跪求大神幫忙用opencv識別出分辨力板中的級數

2020-09-19 18:42:23 軟體工程



用opencv對這影像進行識別,比如說第10級,每個小正方形里都能識別出條數,但11級不行,那就算能識別到第10級。有沒有大神能幫下小弟,小弟感激不盡,試了好多想法都不行啊

uj5u.com熱心網友回復:

換halcon

uj5u.com熱心網友回復:

我還是個green finger,還望老師講細一點,什么是halcon

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

 求個大佬解決下唄,希望能給個思路也行啊

uj5u.com熱心網友回復:

你先說說你的思路吧

uj5u.com熱心網友回復:

一起學習一下~

uj5u.com熱心網友回復:

我是想通過影像分割,把每4組分為一段,分割好之后,用畫輪廓的方式進行查找個數。這個圖上是有規律的,前16個都是4條線/一個長方形,后面16個事5條/一個長方形。關鍵是怎么實作自動分割影像,而且影像放大縮小的時候也要能分割好

uj5u.com熱心網友回復:

參考 2 樓 dreastarain 的回復:
我還是個green finger,還望老師講細一點,什么是halcon

百度搜“halcon”

uj5u.com熱心網友回復:

支持幫頂一下。

uj5u.com熱心網友回復:

參考 8 樓 zhao4zhong1 的回復:
Quote: 參考 2 樓 dreastarain 的回復:

我還是個green finger,還望老師講細一點,什么是halcon

百度搜“halcon”



我百度過,但要用halcon,學的時間不太夠啊。現在時間比較趕。老師能不能指條明路,給個思路

uj5u.com熱心網友回復:

halcon的例子程式估計都不用改就能完成你需要的功能。

uj5u.com熱心網友回復:

參考 11 樓 zhao4zhong1 的回復:
halcon的例子程式估計都不用改就能完成你需要的功能。



好的,我試試看,老師

uj5u.com熱心網友回復:

好高深的東東,膜拜

uj5u.com熱心網友回復:

好高大上的感覺

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

支持幫頂一下。 

uj5u.com熱心網友回復:

參考 1 樓 zhao4zhong1 的回復:
換halcon




老師,用haclon算子匹配只能匹配出有多少個啊,萬一它跳著匹配那怎么辦?中間少了一個的話那不就錯了么?有沒有再牛一點的方法解決這個問題?

uj5u.com熱心網友回復:

想辦法把直線細化

uj5u.com熱心網友回復:

參考 19 樓 chengbar 的回復:
想辦法把直線細化


用處理過的影像,不過是手動的,比較清晰,但是還是得進行影像分割,不然沒辦法知道是不是跳過了某個正方形沒識別。

uj5u.com熱心網友回復:

參考 11 樓 zhao4zhong1 的回復:
halcon的例子程式估計都不用改就能完成你需要的功能。


這個功能很強大的軟體還是實作不了我想要的功能呀,老師,求教啊

uj5u.com熱心網友回復:

參考 21 樓 dreastarain 的回復:
Quote: 參考 11 樓 zhao4zhong1 的回復:

halcon的例子程式估計都不用改就能完成你需要的功能。


這個功能很強大的軟體還是實作不了我想要的功能呀,老師,求教啊


只是因為你不會用而已。
但其實我也沒怎么實際用過。

uj5u.com熱心網友回復:

你的原始圖片解析度太低。

uj5u.com熱心網友回復:

參考 22 樓 zhao4zhong1 的回復:
Quote: 參考 21 樓 dreastarain 的回復:

Quote: 參考 11 樓 zhao4zhong1 的回復:

halcon的例子程式估計都不用改就能完成你需要的功能。


這個功能很強大的軟體還是實作不了我想要的功能呀,老師,求教啊


只是因為你不會用而已。
但其實我也沒怎么實際用過。



我這個圖最基本的要求就是把影像分割成沒4個小長方形為一個影像,而且拍攝圖片的時候可能會因為遠近距離不同導致圖片大小不同,只有圖片正中心永遠不會變。我找了一下halcon的例程庫,沒有找到可以這樣的啊。

uj5u.com熱心網友回復:

參考 23 樓 zhao4zhong1 的回復:
你的原始圖片解析度太低。




,我也很絕望,但是相機就這樣,我控制不了

uj5u.com熱心網友回復:

凡是經過各種物理的(比如可見光、紅外線、紫外線、X射線、……,光學顯微鏡,掃描隧道顯微鏡,光學望遠鏡,射電望遠鏡,……)傳感器或軟體的演算法(比如偽彩色、色階平衡、銳化、對比度、……)處理后連人眼都無法分辨的,就別指望電腦能分辨了。

uj5u.com熱心網友回復:

參考 26 樓 zhao4zhong1 的回復:
凡是經過各種物理的(比如可見光、紅外線、紫外線、X射線、……,光學顯微鏡,掃描隧道顯微鏡,光學望遠鏡,射電望遠鏡,……)傳感器或軟體的演算法(比如偽彩色、色階平衡、銳化、對比度、……)處理后連人眼都無法分辨的,就別指望電腦能分辨了。


只要識別到人眼能看到的級別就行,不需要太清楚,只要能識別出來就行

uj5u.com熱心網友回復:

先用不同的人眼試著識別不同的圖片,得到正確和錯誤的兩組結果。
然后再用程式識別正確的那組。

uj5u.com熱心網友回復:

參考 28 樓 zhao4zhong1 的回復:
先用不同的人眼試著識別不同的圖片,得到正確和錯誤的兩組結果。
然后再用程式識別正確的那組。



現在關鍵是如何識別正確的那組,我現有的辦法做不到呀。而且要求是一次性自動識別完,然后給出識別級數

uj5u.com熱心網友回復:

參考 29 樓 dreastarain 的回復:
Quote: 參考 28 樓 zhao4zhong1 的回復:

先用不同的人眼試著識別不同的圖片,得到正確和錯誤的兩組結果。
然后再用程式識別正確的那組。



現在關鍵是如何識別正確的那組,我現有的辦法做不到呀。而且要求是一次性自動識別完,然后給出識別級數

我勸你這樣做的目的就是遵循我26樓所說的真理。

uj5u.com熱心網友回復:

參考 30 樓 zhao4zhong1 的回復:
Quote: 參考 29 樓 dreastarain 的回復:

Quote: 參考 28 樓 zhao4zhong1 的回復:

先用不同的人眼試著識別不同的圖片,得到正確和錯誤的兩組結果。
然后再用程式識別正確的那組。



現在關鍵是如何識別正確的那組,我現有的辦法做不到呀。而且要求是一次性自動識別完,然后給出識別級數

我勸你這樣做的目的就是遵循我26樓所說的真理。



那起碼第5組長方形可以識別啊,關鍵是如何識別出來里面有幾條線呀?

uj5u.com熱心網友回復:




這個時間也是醉了,這才2點多,帖子回復時間3點多。我穿越了?

uj5u.com熱心網友回復:

識別幾條線參考OpenCV函式reduce

uj5u.com熱心網友回復:

參考 33 樓 zhao4zhong1 的回復:
識別幾條線參考OpenCV函式reduce



老師啊,我這是要準確識別出到了哪一個級別,用那些直線檢測,輪廓檢測都是全圖檢測,得到的結果都不對啊,都超出好多的,有很多干擾項啊。老師,咱能給個可以進行下去的思路不

uj5u.com熱心網友回復:

erode 腐蝕成小正方形
findContours 提取各小正方形的輪廓
warpAffine 根據正方形的邊的傾斜角度旋轉使其擺正
reduce 累加或平均到一維陣列中
判斷一維陣列中數值的波峰波谷個數即小正方形中有幾條線

uj5u.com熱心網友回復:

參考 35 樓 zhao4zhong1 的回復:
erode 腐蝕成小正方形
findContours 提取各小正方形的輪廓
warpAffine 根據正方形的邊的傾斜角度旋轉使其擺正
reduce 累加或平均到一維陣列中
判斷一維陣列中數值的波峰波谷個數即小正方形中有幾條線



我處理的最好的圖片就是20樓的那張圖,我之前也和您一樣的想法,但是我是用數輪廓的方法做的,發現好多識別不出來的小短線也算進去了,這樣就誤差特別大了。我看著您說的方法好像和我的有點像,但是又不確定,您看是不是和我的想法差不多呢?

uj5u.com熱心網友回復:

換高解析度攝像頭才是王道。

uj5u.com熱心網友回復:

參考 37 樓 zhao4zhong1 的回復:
換高解析度攝像頭才是王道。



這個硬體沒辦法。現在已經問到大致的解題思路了

uj5u.com熱心網友回復:

各位大佬,我又發現了個問題。我的那個設備拍取影像的時候一直有一種中間往外凸,四周往后面凹的效果,而且圖片中心也不準,不好往下做,有大佬知道怎么做么

uj5u.com熱心網友回復:

參考 39 樓 dreastarain 的回復:
各位大佬,我又發現了個問題。我的那個設備拍取影像的時候一直有一種中間往外凸,四周往后面凹的效果,而且圖片中心也不準,不好往下做,有大佬知道怎么做么

OpenCV的例子代碼中就有修正枕形失真的。如果我沒猜錯的話。

uj5u.com熱心網友回復:

Undistort2
校正影像因相機鏡頭引起的變形 

void cvUndistort2( const CvArr* src, CvArr* dst,
                   const CvMat* intrinsic_matrix,
                   const CvMat* distortion_coeffs );

src 
原始影像(已經變形的影像)。 
dst 
結果影像(已經校正的影像)。 
intrinsic_matrix 
相機內引數矩陣,格式為 。 
distortion_coeffs 
四個變形系陣列成的向量,大小為4x1或者1x4,格式為[k1,k2,p1,p2]。 
函式cvUndistort2對影像進行變換來抵消徑向和切向鏡頭變形。相機引數和變形引數可以通過函式cvCalibrateCamera2取得。使用本節開始時提到的公式,對每個輸出影像像素計算其在輸入影像中的位置,然后輸出影像的像素值通過雙線性插值來計算。如果影像得解析度跟定標時用得影像解析度不一樣,fx、fy、cx和cy需要相應調整,因為形變并沒有變化。 

uj5u.com熱心網友回復:

參考 41 樓 zhao4zhong1 的回復:
Undistort2
校正影像因相機鏡頭引起的變形 

void cvUndistort2( const CvArr* src, CvArr* dst,
                   const CvMat* intrinsic_matrix,
                   const CvMat* distortion_coeffs );

src 
原始影像(已經變形的影像)。 
dst 
結果影像(已經校正的影像)。 
intrinsic_matrix 
相機內引數矩陣,格式為 。 
distortion_coeffs 
四個變形系陣列成的向量,大小為4x1或者1x4,格式為[k1,k2,p1,p2]。 
函式cvUndistort2對影像進行變換來抵消徑向和切向鏡頭變形。相機引數和變形引數可以通過函式cvCalibrateCamera2取得。使用本節開始時提到的公式,對每個輸出影像像素計算其在輸入影像中的位置,然后輸出影像的像素值通過雙線性插值來計算。如果影像得解析度跟定標時用得影像解析度不一樣,fx、fy、cx和cy需要相應調整,因為形變并沒有變化。 



老師,你牛爆了,不過角點的坐標和世界點的坐標不懂怎么取值啊。

uj5u.com熱心網友回復:

這個拍攝到的圖片會畸變,而且前后移動的時候圓心會上線跑偏。所以即使是糾正畸變之后圖片也不對了,不知道怎么辦啊

uj5u.com熱心網友回復:

OpenCV糾正畸變的函式是開源的,參考其改為支持圓心向上跑偏的畸變糾正。

uj5u.com熱心網友回復:

參考 44 樓 zhao4zhong1 的回復:
OpenCV糾正畸變的函式是開源的,參考其改為支持圓心向上跑偏的畸變糾正。



我的意思是他在最上面和最上面下來點,畸變率是不一樣的,圓心跑偏之后,對應的影像也跑偏了。兩張圖相同的地方畸變率不一樣,矯正之后還一樣么?

uj5u.com熱心網友回復:

搜“梯形畸變校正”

uj5u.com熱心網友回復:

參考 46 樓 zhao4zhong1 的回復:
搜“梯形畸變校正”


用了之后發現變成了梯形,它本身應該是上下都畸變的。

uj5u.com熱心網友回復:

完完全全需要膜拜

uj5u.com熱心網友回復:

枕形 + 梯形

uj5u.com熱心網友回復:

參考 50 樓 zhao4zhong1 的回復:
枕形 + 梯形


老師,我上網查了一下,發現那個畸變好像是桶形畸變

uj5u.com熱心網友回復:

參考 50 樓 zhao4zhong1 的回復:
枕形 + 梯形



老師,有沒有辦法定位到圖中的十字形的中心呀?

uj5u.com熱心網友回復:

輪廓匹配十字中心。

uj5u.com熱心網友回復:

參考 53 樓 zhao4zhong1 的回復:
輪廓匹配十字中心。



趙老師,我這不同距離的圖片用同一個模板,輪廓匹配到的結果不一樣啊,很尷尬啊。

uj5u.com熱心網友回復:

那就不同距離用不同模板。

uj5u.com熱心網友回復:

opencv是什么

uj5u.com熱心網友回復:

參考 55 樓 zhao4zhong1 的回復:
那就不同距離用不同模板。


現在要實作的是不管在什么距離拍攝都能自動識別出來,不可能說手動去選模板啊。

uj5u.com熱心網友回復:

“不管在什么距離”
吹,繼續吹!

uj5u.com熱心網友回復:

參考 58 樓 zhao4zhong1 的回復:
“不管在什么距離”
吹,繼續吹!



肯定是一定距離之內啊,怎么可能不限。我這意思是比如在你距離20cm和25cm處都得識別出來

uj5u.com熱心網友回復:

參考 59 樓 dreastarain 的回復:
Quote: 參考 58 樓 zhao4zhong1 的回復:

“不管在什么距離”
吹,繼續吹!



肯定是一定距離之內啊,怎么可能不限。我這意思是比如在你距離20cm和25cm處都得識別出來

那你不會先判斷距離20cm還是25cm,再分別識別?

uj5u.com熱心網友回復:

參考 60 樓 zhao4zhong1 的回復:
Quote: 參考 59 樓 dreastarain 的回復:

Quote: 參考 58 樓 zhao4zhong1 的回復:

“不管在什么距離”
吹,繼續吹!



肯定是一定距離之內啊,怎么可能不限。我這意思是比如在你距離20cm和25cm處都得識別出來

那你不會先判斷距離20cm還是25cm,再分別識別?


但是人家要1cm 識別一次,我還得1cm做一個模板啊?肯定不現實啊。

uj5u.com熱心網友回復:

參考 61 樓 dreastarain 的回復:
Quote: 參考 60 樓 zhao4zhong1 的回復:

Quote: 參考 59 樓 dreastarain 的回復:

Quote: 參考 58 樓 zhao4zhong1 的回復:

“不管在什么距離”
吹,繼續吹!



肯定是一定距離之內啊,怎么可能不限。我這意思是比如在你距離20cm和25cm處都得識別出來

那你不會先判斷距離20cm還是25cm,再分別識別?


但是人家要1cm 識別一次,我還得1cm做一個模板啊?肯定不現實啊。

每1cm識別一次,就算從1cm到100cm也就才100個模板,怎么就不現實了?!
最不濟你還可以借用代碼生成技術,自動生成100個模板啊!
代碼生成技術參考下面:
//codegen.c
// 輸入一組字串,比如
// aa ss ddd dd 33 dd
// 然后自動生成一個函式 int A(const char*);
// 實作A("aa")回傳0  A("ss")回傳1 依次類推
#include <stdio.h>
int main(int argc,char **argv) {
    int i;
    if (argc<2) {
        printf("%s p1 [p2 ...] [>result.c]\nGenerate code int A(const char *a); 0==A(\"p1\") 1==A(\"p2\") ...",argv[0]);
        return 1;
    }
    //printf("#include <string.h>\n");
    printf("int A(const char *a) {\n");
    for (i=0;i<argc-1;i++) {
        printf("    if (0==strcmp(a,\"%s\")) return %d;\n",argv[i+1],i);
    }
    printf("    return -1;\n");
    printf("}\n");
    return 0;
}
//C:\test\Debug>codegen.exe
//codegen.exe p1 [p2 ...] [>result.c]
//Generate code int A(const char *a); 0==A("p1") 1==A("p2") ...
//C:\test\Debug>codegen.exe aa ss ddd dd 33 dd
//int A(const char *a) {
//    if (0==strcmp(a,"aa")) return 0;
//    if (0==strcmp(a,"ss")) return 1;
//    if (0==strcmp(a,"ddd")) return 2;
//    if (0==strcmp(a,"dd")) return 3;
//    if (0==strcmp(a,"33")) return 4;
//    if (0==strcmp(a,"dd")) return 5;
//    return -1;
//}
//
//c:\test\Debug>codegen.exe aa ss ddd dd 33 dd >result.c
//
//c:\test\Debug>type result.c
//int A(const char *a) {
//    if (0==strcmp(a,"aa")) return 0;
//    if (0==strcmp(a,"ss")) return 1;
//    if (0==strcmp(a,"ddd")) return 2;
//    if (0==strcmp(a,"dd")) return 3;
//    if (0==strcmp(a,"33")) return 4;
//    if (0==strcmp(a,"dd")) return 5;
//    return -1;
//}
//

uj5u.com熱心網友回復:

參考 62 樓 zhao4zhong1 的回復:
Quote: 參考 61 樓 dreastarain 的回復:

Quote: 參考 60 樓 zhao4zhong1 的回復:

Quote: 參考 59 樓 dreastarain 的回復:

Quote: 參考 58 樓 zhao4zhong1 的回復:

“不管在什么距離”
吹,繼續吹!



肯定是一定距離之內啊,怎么可能不限。我這意思是比如在你距離20cm和25cm處都得識別出來

那你不會先判斷距離20cm還是25cm,再分別識別?


但是人家要1cm 識別一次,我還得1cm做一個模板啊?肯定不現實啊。

每1cm識別一次,就算從1cm到100cm也就才100個模板,怎么就不現實了?!
最不濟你還可以借用代碼生成技術,自動生成100個模板啊!
代碼生成技術參考下面:
//codegen.c
// 輸入一組字串,比如
// aa ss ddd dd 33 dd
// 然后自動生成一個函式 int A(const char*);
// 實作A("aa")回傳0  A("ss")回傳1 依次類推
#include <stdio.h>
int main(int argc,char **argv) {
    int i;
    if (argc<2) {
        printf("%s p1 [p2 ...] [>result.c]\nGenerate code int A(const char *a); 0==A(\"p1\") 1==A(\"p2\") ...",argv[0]);
        return 1;
    }
    //printf("#include <string.h>\n");
    printf("int A(const char *a) {\n");
    for (i=0;i<argc-1;i++) {
        printf("    if (0==strcmp(a,\"%s\")) return %d;\n",argv[i+1],i);
    }
    printf("    return -1;\n");
    printf("}\n");
    return 0;
}
//C:\test\Debug>codegen.exe
//codegen.exe p1 [p2 ...] [>result.c]
//Generate code int A(const char *a); 0==A("p1") 1==A("p2") ...
//C:\test\Debug>codegen.exe aa ss ddd dd 33 dd
//int A(const char *a) {
//    if (0==strcmp(a,"aa")) return 0;
//    if (0==strcmp(a,"ss")) return 1;
//    if (0==strcmp(a,"ddd")) return 2;
//    if (0==strcmp(a,"dd")) return 3;
//    if (0==strcmp(a,"33")) return 4;
//    if (0==strcmp(a,"dd")) return 5;
//    return -1;
//}
//
//c:\test\Debug>codegen.exe aa ss ddd dd 33 dd >result.c
//
//c:\test\Debug>type result.c
//int A(const char *a) {
//    if (0==strcmp(a,"aa")) return 0;
//    if (0==strcmp(a,"ss")) return 1;
//    if (0==strcmp(a,"ddd")) return 2;
//    if (0==strcmp(a,"dd")) return 3;
//    if (0==strcmp(a,"33")) return 4;
//    if (0==strcmp(a,"dd")) return 5;
//    return -1;
//}
//



參考 62 樓 zhao4zhong1 的回復:
Quote: 參考 61 樓 dreastarain 的回復:

Quote: 參考 60 樓 zhao4zhong1 的回復:

Quote: 參考 59 樓 dreastarain 的回復:

Quote: 參考 58 樓 zhao4zhong1 的回復:

“不管在什么距離”
吹,繼續吹!



肯定是一定距離之內啊,怎么可能不限。我這意思是比如在你距離20cm和25cm處都得識別出來

那你不會先判斷距離20cm還是25cm,再分別識別?


但是人家要1cm 識別一次,我還得1cm做一個模板啊?肯定不現實啊。

每1cm識別一次,就算從1cm到100cm也就才100個模板,怎么就不現實了?!
最不濟你還可以借用代碼生成技術,自動生成100個模板啊!
代碼生成技術參考下面:
//codegen.c
// 輸入一組字串,比如
// aa ss ddd dd 33 dd
// 然后自動生成一個函式 int A(const char*);
// 實作A("aa")回傳0  A("ss")回傳1 依次類推
#include <stdio.h>
int main(int argc,char **argv) {
    int i;
    if (argc<2) {
        printf("%s p1 [p2 ...] [>result.c]\nGenerate code int A(const char *a); 0==A(\"p1\") 1==A(\"p2\") ...",argv[0]);
        return 1;
    }
    //printf("#include <string.h>\n");
    printf("int A(const char *a) {\n");
    for (i=0;i<argc-1;i++) {
        printf("    if (0==strcmp(a,\"%s\")) return %d;\n",argv[i+1],i);
    }
    printf("    return -1;\n");
    printf("}\n");
    return 0;
}
//C:\test\Debug>codegen.exe
//codegen.exe p1 [p2 ...] [>result.c]
//Generate code int A(const char *a); 0==A("p1") 1==A("p2") ...
//C:\test\Debug>codegen.exe aa ss ddd dd 33 dd
//int A(const char *a) {
//    if (0==strcmp(a,"aa")) return 0;
//    if (0==strcmp(a,"ss")) return 1;
//    if (0==strcmp(a,"ddd")) return 2;
//    if (0==strcmp(a,"dd")) return 3;
//    if (0==strcmp(a,"33")) return 4;
//    if (0==strcmp(a,"dd")) return 5;
//    return -1;
//}
//
//c:\test\Debug>codegen.exe aa ss ddd dd 33 dd >result.c
//
//c:\test\Debug>type result.c
//int A(const char *a) {
//    if (0==strcmp(a,"aa")) return 0;
//    if (0==strcmp(a,"ss")) return 1;
//    if (0==strcmp(a,"ddd")) return 2;
//    if (0==strcmp(a,"dd")) return 3;
//    if (0==strcmp(a,"33")) return 4;
//    if (0==strcmp(a,"dd")) return 5;
//    return -1;
//}
//




老師啊,這個我就舉個例子,人家硬體的要求是0.1mm為單位的啊,而且模板要挨個試,同一個物體在兩個距離拍出來的圖片用同一個模板來做輪廓匹配都不成功,找模板就得找死。。現在我想著縮小匹配的范圍,看能不能順利找到。

uj5u.com熱心網友回復:

或者干脆你上Tensorflow得了!

uj5u.com熱心網友回復:

輪廓模板不是大小和旋轉角度無關的嗎?

uj5u.com熱心網友回復:

參考 65 樓 zhao4zhong1 的回復:
輪廓模板不是大小和旋轉角度無關的嗎?


不同的距離反正用同一個模板不能成功匹配,可能是拍攝的時候的環境的微小變化造成的吧。現在我通過縮小感興趣區域,找到了十字的中心了,還是用的輪廓匹配。麻煩老師傳道受業解惑啦。

uj5u.com熱心網友回復:

《學習OpenCV(中文版)》279頁 輪廓的匹配

uj5u.com熱心網友回復:

參考 67 樓 zhao4zhong1 的回復:
《學習OpenCV(中文版)》279頁 輪廓的匹配



老師,那個中心找著了,還是老師牛。我還有一個小問題,有沒有辦法從圖片上看出世什么畸變?我在發帖時候的那張圖片,我不知道是哪種畸變,所以不知道如何處理,有沒有辦法找出畸變?

uj5u.com熱心網友回復:

https://www.baidu.com/s?wd=鏡頭畸變


現代中國人的能力差別很大程度上體現在會不會合理高效地使用百度上。
百度搜相關關鍵字。

uj5u.com熱心網友回復:

參考 69 樓 zhao4zhong1 的回復:
https://www.baidu.com/s?wd=鏡頭畸變


現代中國人的能力差別很大程度上體現在會不會合理高效地使用百度上。
百度搜相關關鍵字。


老師,那些都是修正畸變的啊,我百度過,好像沒有判斷是哪一種畸變的

uj5u.com熱心網友回復:

你不需要編程判斷是哪種畸變,你只需要用人眼判斷出是哪種畸變。

uj5u.com熱心網友回復:

支持···············

uj5u.com熱心網友回復:

枕形 + 梯形么?

uj5u.com熱心網友回復:

冒泡,我是新手。

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

halcon確實好用,就是許可麻煩一點

uj5u.com熱心網友回復:

uj5u.com熱心網友回復:

參考 76 樓 sinat_40665049 的回復:
halcon確實好用,就是許可麻煩一點


halcon用起來么有opencv順手,也不太會。

uj5u.com熱心網友回復:

參考 73 樓 gefieder 的回復:
枕形 + 梯形么?


用張氏標定法應該可以直接矯正了吧

uj5u.com熱心網友回復:

圍觀

uj5u.com熱心網友回復:

又回到起點了,如何分割影像成了一個問題,覺得數像素好像誤差有點大

uj5u.com熱心網友回復:

回復的積分 

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/82958.html

標籤:圖形處理/算法

上一篇:CFile怎么清空檔案已寫入內容的同時,不影響緩沖區中的資料

下一篇:VB.NET怎樣把USB攝像頭在顯示幕上輸出的實時畫面(像素資訊),引入到資料庫.

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more