Halcon仿射變換---個人筆記

文章目錄

  • 1.概述
  • 2.仿射變換類型
  • 3.仿射變換流程
  • 4.根據特征點、角度計算仿射變換矩陣
    • 4.1 從空變換矩陣創建仿射變換矩陣
    • 4.2 把旋轉角度添加到仿射變換矩陣
    • 4.3 把縮放添加到仿射變換矩陣
    • 4.4 把平移添加到防射變換矩陣
    • 4.5 把斜切添加到仿射變換矩陣
    • 4.6 根據點和角度計算剛性仿射變換矩陣
    • 4.7 實戰Demo(把車牌號碼轉正)
  • 5.根據多個以上特征點計算仿射變換矩陣
    • 5.1 根據兩個以上特征點計算仿射變換矩陣
    • 5.2 根據三個以上特征點獲取仿射變換矩陣
    • 5.3 計算仿射變換參數
  • 6.對圖像/Region/Xld進行仿射變換
    • 6.1 對XLD進行仿射變換
    • 6.2 對image進行仿射變換
    • 6.3 對region進行仿射變換
    • 6.4 對polygon_xld進行仿射變換

1.概述

? 仿射變換,即在二維平面內,對象進行平移(Translation)、縮放(Scale)、翻轉(Flip)、旋轉(Rotation)和斜切(Shear)等操作。

?仿射變換可以保持原來的線共點、點共線的關系不變;
保持原來相互平行的線仍然平行;
保持原來的中點仍然是中點;
保持原來在一直線上幾段線段之間的比例關系不變;
但不能保持原來的線段長度和夾角角度不變。
在這里插入圖片描述

2.仿射變換類型

仿射變換有:平移、旋轉、縮放、斜切(就是將斜體字導正)。

3.仿射變換流程

1.獲取特征點坐標、角度
2.計算仿射變換矩陣
3.對圖像、區域、輪廓進行仿射變換

4.根據特征點、角度計算仿射變換矩陣

4.1 從空變換矩陣創建仿射變換矩陣

hom_mat2d_identity( : : : HomMat2DIdentity)
功能:產生仿射變換矩陣(產生一個空的二維空變換矩陣)
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity, 200, 200, HomMat2DTranslate)
affine_trans_image (Image, ImageAffineTrans, HomMat2DTranslate, 'constant', 'false')

4.2 把旋轉角度添加到仿射變換矩陣

hom_mat2d_rotate( : : HomMat2D, Phi, Px, Py : HomMat2DRotate)

功能:把旋轉角度添加到仿射變換矩陣

   HomMat2D :(輸入參數)仿射變換矩陣Phi  :旋轉角度(單位弧度)Px   :變換的固定點行坐標。固定點是指以該點為支撐進行仿射變換  (這里是指圍繞這點進行旋轉)Py :  變換的固定點列坐標   	HomMat2DRotate:輸出的旋轉變換的二維矩陣
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_rotate (HomMat2DIdentity, rad(90), 200, 200, HomMat2DRotate)
affine_trans_image (Image, ImageAffineTrans, HomMat2DRotate, 'constant', 'false')

4.3 把縮放添加到仿射變換矩陣

hom_mat2d_scale( : : HomMat2D, Sx, Sy, Px, Py : HomMat2DScale)

功能:把縮放添加到仿射變換矩陣

 HomMat2D(輸入參數):仿射變換矩陣   Sx(輸入參數):x軸方向的縮放因子    Sy(輸入參數):y軸方向的縮放因子   Px(輸入參數):變換的固定點行坐標    Py(輸入參數):  變換的固定點列坐標    HomMat2DScale(輸出參數):輸出縮放變換矩陣
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_scale (HomMat2DIdentity, 0.5, 0.5, 0, 0, HomMat2DScale)
affine_trans_image (Image, ImageAffineTrans, HomMat2DScale, 'constant', 'false')

4.4 把平移添加到防射變換矩陣

hom_mat2d_translate( : : HomMat2D, Tx, Ty : HomMat2DTranslate)

功能:把平移添加到防射變換矩陣

   HomMat2D:(輸入參數)仿射變換矩陣Tx(輸入參數):沿x軸方向平移的距離Ty:輸入參數):沿y軸方向平移的距離HomMat2DTranslate(輸出參數):輸出變換矩陣
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity, 200, 200, HomMat2DTranslate)
affine_trans_image (Image, ImageAffineTrans, HomMat2DTranslate, 'constant', 'false')

4.5 把斜切添加到仿射變換矩陣

hom_mat2d_slant( : : HomMat2D, Theta, Axis, Px, Py : HomMat2DSlant)

功能:把斜切添加到防射變換矩陣

  HomMat2D        (輸入參數):仿射變換矩陣Theta           (輸入參數):斜切角度(單位:弧度)Axis            (輸入參數):斜切的坐標軸。取值列表:x,yPx               (輸入參數):變換的固定點x坐標Py              (輸入參數):變換的固定點y坐標HomMat2DSlant  (輸出參數):輸出斜切仿射變換矩陣
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_slant (HomMat2DIdentity, 0.52, 'y', 0, 0, HomMat2DSlant)
affine_trans_image (Image, ImageAffineTrans, HomMat2DSlant, 'constant', 'false')

4.6 根據點和角度計算剛性仿射變換矩陣

vector_angle_to_rigid(::Row1,Column1,Angle1,Row2,Column2,Angle2:HomMat2D)

功能:根據點和角度計算剛性仿射變換矩陣,支持旋轉和平移

 Row1(輸入參數):原始點行坐標Column1(輸入參數):原始點列坐標Angle1(輸入參數):原始點角度Row2(輸入參數):變換的目的點行坐標Column2(輸入參數):變換的目的點列坐標Angle2(輸入參數):變換的目的點角度HomMat2D(輸出參數):輸出仿射變換矩陣

dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, ‘C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png’)
area_center (Image, Area, Row, Column)
orientation_region (Image, Phi)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, rad(-180), HomMat2D)
affine_trans_image (Image, ImageAffineTrans, HomMat2D, ‘constant’, ‘false’)

4.7 實戰Demo(把車牌號碼轉正)

dev_clear_window ()
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/5.png')
rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Regions, 105, 150)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['area','row','column','width'], 'and', [0,112.1,191.31,6.57], [506.57,150.56,355.53,51.59])
opening_circle (SelectedRegions, RegionClosing, 1)
union1 (RegionClosing, RegionUnion)
shape_trans (RegionUnion, RegionTrans, 'rectangle2')
* 獲取當前圖片中心點及對應面積
area_center (RegionUnion, Area, Row, Column)
* 獲取圖片原始弧度
orientation_region (RegionUnion, Phi)
* 獲取仿射變換矩陣
vector_angle_to_rigid (Row, Column, Phi, Row, Column, rad(180), HomMat2D)
* 仿射變換圖片
affine_trans_image (Image, ImageAffineTrans, HomMat2D, 'constant', 'false')

5.根據多個以上特征點計算仿射變換矩陣

5.1 根據兩個以上特征點計算仿射變換矩陣

 vector_to_rigid(::Px,Py,Qx,Qy:HomMat2D)
   功能:根據兩個以上點對計算計算剛性仿射變換矩陣,支持旋轉和平移Px:(輸入參數)原始點組的x坐標Py:(輸入參數)原始點組的y坐標Qx:(輸入參數)變換的目的點組的x坐標Qy:輸入參數)變換的目的點組的y坐標HomMat2D:(輸出參數)輸出仿射變換矩陣
* This program gives an example of how to use vector_to_rigid.
dev_update_off ()
dev_close_window ()
dev_open_window (0, 0, 500, 500, 'black', WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false')
dev_set_part (0, 0, 499, 499)
* To generate a set of points from which we can construct a transformation,
* we will use a synthetic ellipse and read out its coordinates.
gen_ellipse_contour_xld (ContEllipse, 200, 200, rad(0), 150, 100, rad(0), rad(360), 'positive', 1)
get_contour_xld (ContEllipse, Rows1, Cols1)
* Now we will transform the ellipse by a known transformation and add some
* noise to the coordinates.
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_rotate (HomMat2DIdentity, rad(30), 0, 0, HomMat2DRotate)
hom_mat2d_translate (HomMat2DRotate, 200, 100, HomMat2DTranslate)
affine_trans_point_2d (HomMat2DTranslate, Rows1, Cols1, Rows2, Cols2)
gen_contour_polygon_xld (Contour, Rows2, Cols2)
add_noise_white_contour_xld (Contour, NoisyContours, 5, 5)
* We will read out the coordinates of the noisy ellipse and use it to construct
* the transformation.  Note that by his approach we know exactly which points
* correspond to each other.  In a real application, the step of determining
* the correspondences is usually the hard part.
get_contour_xld (NoisyContours, Rows2, Cols2)
* Now we can determine the rigid transformation that best approximates the
* the point correspondences.
vector_to_rigid (Rows1, Cols1, Rows2, Cols2, HomMat2D)
* Finally, we transform the original contour by the calculated transformation
* to get an impression of how accurate the calculated transformation is
* (but before that, correct the coordinate system).
hom_mat2d_translate (HomMat2D, 0.5, 0.5, HomMat2DTmp)
hom_mat2d_translate_local (HomMat2DTmp, -0.5, -0.5, HomMat2DAdapted)
affine_trans_contour_xld (ContEllipse, ContoursAffineTrans, HomMat2DAdapted)

5.2 根據三個以上特征點獲取仿射變換矩陣

 vector_to_hom_mat2d(::Px,Py,Qx,Qy:HomMat2D)

功能:根據三個以上點對計算仿射變換矩陣,支持旋轉、平移、縮放、斜切

Px:(輸入參數)原始點組的x坐標
Py:(輸入參數)原始點組的y坐標
Qx:(輸入參數)變換的目的點組的x坐標
Qy:(輸入參數)變換的目的點組的y坐標
HomMat2D:(輸出參數)輸出仿射變換矩陣
*圖像坐標
r:=[431, 355, 507, 53, 507]
c:=[505, 543, 316, 127, 883]
*物理坐標(例如機器人坐標)
r1:=[0, 2.0, -2.0, 10, -2.0]
c1:=[0, 1.0, -5.0, -10, 10]row:=670
col:=789
vector_to_hom_mat2d (r, c, r1,c1 , HomMat2D)
* 圖像坐標仿射為物理坐標(例如機器人坐標)
affine_trans_point_2d (HomMat2D, row,col, Qx, Qy)hom_mat2d_invert (HomMat2D, HomMat2DInvert)
* 物理坐標仿射為圖像坐標
affine_trans_point_2d (HomMat2DInvert, Qx, Qy, Px, Py)

5.3 計算仿射變換參數

hom_mat2d_to_affine_par( : : HomMat2D : Sx, Sy, Phi, Theta, Tx, Ty)   

功能:根據仿射變換矩陣(齊次二維變換矩陣)計算仿射變換參數

   HomMat2D   (輸入參數):仿射變換矩陣Sx          (輸出參數):x方向的縮放因子(如果從圖像空間變換到物理空間,就是x方向的像素單量)Sy          (輸出參數):y方向的縮放因子(如果從圖像空間變換到物理空間,就是y方向的像素單量)Phi         (輸出參數):旋轉角度Theta       (輸出參數):斜切角度Tx          (輸出參數):沿x方向平移的距離Ty          (輸出參數):沿y方向平移的距離
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_rotate (HomMat2DIdentity, 0.78, 10, 10, HomMat2DRotate)
hom_mat2d_scale (HomMat2DRotate, 2, 2, 0, 0, HomMat2DScale)
hom_mat2d_to_affine_par (HomMat2DScale, Sx, Sy, Phi, Theta, Tx, Ty)

6.對圖像/Region/Xld進行仿射變換

6.1 對XLD進行仿射變換

affine_trans_contour_xld(Contours : ContoursAffinTrans : HomMat2D : )

功能:對XLD輪廓進行二維仿射變換 (支持縮放,旋轉,平移,斜切)

   Contours(輸入參數):輸入XLD輪廓ContoursAffinTrans(輸出參數):輸出變換的XLD輪廓HomMat2D(輸入參數):仿射變換矩陣
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 128, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 25000, 100000)
select_obj (SelectedRegions, ObjectSelected, 1)
gen_contour_region_xld (ObjectSelected, Contours, 'border')
*將區域移動到圖像中心
area_center_xld (Contours, Area, Row, Column, PointOrder)
orientation_xld (Contours, Phi)
get_image_size (Image, Width, Height)
vector_angle_to_rigid (Row, Column, Phi, Height/2, Width/2, Phi, HomMat2D)
affine_trans_contour_xld (Contours, ContoursAffineTrans, HomMat2D)
dev_display (Image)
dev_display (ContoursAffineTrans)

6.2 對image進行仿射變換

affine_trans_image(Image : ImageAffinTrans : HomMat2D, Interpolation, AdaptImageSize : )

功能:對圖像輪廓進行二維仿射變換 (支持縮放、旋轉、平移,斜切)
Image (輸入參數):輸入圖像

ImageAffinTrans (輸出參數):變換后的圖像
HomMat2D      (輸入參數):仿射變換矩陣
Interpolation    (輸入參數):插值算法。參數值列表 nearest_neighbor,bilinear,constant,weighted
AdaptImageSize  (輸入參數):結果圖像尺寸是否自適應。默認值:false
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Regions, 212, 255)
erosion_circle (Regions, RegionErosion, 1)
connection (RegionErosion, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['area','row','column','area'], 'and', [0,173.61,320.7,0], [717.59,189.35,538.82,717.59])
union1 (SelectedRegions, RegionUnion)
shape_trans (RegionUnion, RegionTrans, 'rectangle2')
gen_contour_region_xld (RegionTrans, Contours, 'border')
area_center (RegionTrans, Area, Row, Column)
orientation_region (RegionTrans, Phi)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, rad(180), HomMat2D)
affine_trans_contour_xld (Contours, ContoursAffineTrans, HomMat2D)
affine_trans_image (Image, ImageAffineTrans, HomMat2D, 'constant', 'false')

6.3 對region進行仿射變換

affine_trans_region(Region : RegionAffineTrans : HomMat2D, Interpolate : ) 

功能:對區域進行任意二維仿射變換

Region              (輸入參數):輸入區域
RegionAffineTrans   (輸出參數):變換的區域
HomMat2D            (輸入參數):仿射變換矩陣
Interpolate          (輸入參數):插值算法。默認值:nearest_neighbor。參數值列表:constant,nearest_neighbor
dev_clear_window ()
dev_get_window (WindowHandle)
read_image (Image, 'C:/Users/Gerry/Pictures/Saved Pictures/halcon/OCM識別.png')
rgb1_to_gray (Image, GrayImage)
threshold (GrayImage, Regions, 212, 255)
erosion_circle (Regions, RegionErosion, 1)
connection (RegionErosion, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ['area','row','column','area'], 'and', [0,173.61,320.7,0], [717.59,189.35,538.82,717.59])
union1 (SelectedRegions, RegionUnion)
shape_trans (RegionUnion, RegionTrans, 'rectangle2')
gen_contour_region_xld (RegionTrans, Contours, 'border')
area_center (RegionTrans, Area, Row, Column)
orientation_region (RegionTrans, Phi)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, rad(180), HomMat2D)
affine_trans_contour_xld (Contours, ContoursAffineTrans, HomMat2D)
affine_trans_region (RegionTrans, RegionAffineTrans, HomMat2D, 'nearest_neighbor')
*affine_trans_image (Image, ImageAffineTrans, HomMat2D, 'constant', 'false')

6.4 對polygon_xld進行仿射變換

affine_trans_polygon_xld(Polygon:PolygonsAffinTrans:HomMat2D:)

功能:對XLD多邊形進行任意二維仿射變換

Polygon(輸入參數):輸入XLD多邊形
PolygonsAffinTrans(輸出參數):變換的XLD多邊形
HomMat2D(輸入參數):仿射變換矩陣
gen_region_polygon_filled(reg,[100,50,50,100,300,300,300,100],[50,100,200,400,400,200,50,50])
gen_contour_region_xld (reg, Contours, 'border')
area_center_xld (Contours, Area, Row, Column, PointOrder)
orientation_xld (Contours, Phi)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, Phi, HomMat2D)
hom_mat2d_scale (HomMat2D, 0.5, 0.5, Column, Row, HomMat2DScale)
affine_trans_contour_xld (Contours, ContoursAffineTrans, HomMat2DScale)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84564.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84564.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位運維指南》

《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位運維指南》 一、引言 在當今數字化的時代背景下,Linux操作系統憑借其卓越的性能、可靠性和開源的優勢,在服務器、云計算、嵌入式系統等眾多領域占據著舉足輕重的地位。對于IT運維…

【Webtrees 用戶手冊】第 2 章 - 訪客須知

Webtrees 用戶手冊/訪客指南 信 第 2 章 - 訪客須知 <- 章節概述 目錄 1頁面結構2標題菜單 2.1主題 2.1.1云2.1.2顏色2.1.3絕佳2.1.4最小2.1.5網絡樹2.1.6西妮婭 2.2語言2.3登記2.4搜索字段 3主菜單 3.1家譜3.2圖表3.3列表3.4日歷3.5報告3.6尋找3.7故事3.8常見問題 (FAQ) 4…

動態規劃-918.環形子數組的最大和-力扣(LeetCode)

一、題目解析 聽著有點復雜&#xff0c;這里一圖流。 將環形問題轉化為線性問題。 二、算法原理 1.狀態表示 2.狀態轉移方程 詳細可以移步另一篇博客&#xff0c;53. 最大子數組和 - 力扣&#xff08;LeetCode&#xff09; 3.初始化 由于計算中需要用到f[i-1]和g[i-1]的值&…

飛牛fnNAS遠程映射盤符

目錄 一、NAS、PC端配置Zerotier 二、使用網上鄰居 三、使用WebDAV 1.開啟WebDAV 2.PC上安裝RaiDrive并設置 如果能將NAS作為本機一個盤符來使用,一定會令我非常方便。如果是本地,可以很方便實現。 將飛牛NAS映射為本地盤符,常用兩種方式,一種是網上鄰居,另一種是We…

華為2025年校招筆試手撕真題教程(二)

一、題目 大灣區某城市地鐵線路非常密集&#xff0c;乘客很難一眼看出選擇哪條線路乘坐比較合適&#xff0c;為了解決這個問題&#xff0c;地鐵公司希望你開發一個程序幫助乘客挑選合適的乘坐線路&#xff0c;使得乘坐時間最短&#xff0c;地鐵公司可以提供的數據是各相鄰站點…

SAP ABAP VK11/VK12 創建銷售物料價格(附源碼)

需求: 通過接口批量創建銷售物料的價格(含階梯價),對應事務碼VK11/VK12 方法:(會在下面源碼寫出各個方法的優缺點,僅供參考) 通過函數 RV_CONDITION_COPY創建(目前最優)通過函數 BAPI_PRICES_CONDITIONS通過BDC錄屏使用VK11事務碼進行創建分析: 通過測試可發現,VK…

噪聲建模在一小時:最小化準備工作的自監督低光RAW圖像去噪

論文標題: Noise Modeling in One Hour: Minimizing Preparation Efforts for Self-supervised Low-Light RAW Image Denoising發表日期: 2025年5月作者: Feiran Li, Haiyang Jiang*, Daisuke Iso發表單位: Sony Research, Tokyo University原文鏈接: https://arxiv.org/pdf/25…

Puppeteer 瀏覽器自動化操作工具

pyppeteer 是 Python 版本的 Puppeteer&#xff0c;而 Puppeteer 是由 Google 開發的一個 Node.js 庫&#xff0c;用于控制 Chrome 或 Chromium 瀏覽器。pyppeteer 允許你通過 Python 代碼自動化操作瀏覽器&#xff0c;實現網頁爬取、自動化測試、生成截圖或 PDF 等功能。 核心…

接口性能測試-工具JMeter的學習

接口登錄鏈接http://111.230.19.204:8080/blog_login.html 一、JMeter基本使用流程 1、啟動Jmeter 2、在“測試計劃”下添加線程組 3、在“線程組”下添加“HTTP”取樣器 4、填寫“HTTP請求”的相關請求數據 5、在“線程組”下添加“查看結果樹”監聽器 6、點擊“啟動”按鈕…

mybatis-plus與jsqlparser共用時報sql解析錯誤

手動引入jsqlparser-4.6版本&#xff0c;但mybatis-plus中引用為4.4版本 解決方法一&#xff1a; jsqlparser版本與mybatis-plus中引用版本一致。 解決方法而二&#xff1a; 排除掉mybatis-plus中的jsqlparser。

用MMdetection框架訓練自己的數據集(全流程實戰)

前面我們準備好了COCO格式的數據集&#xff1a;將YOLO格式的數據集轉換為mmdetection格式-CSDN博客https://blog.csdn.net/qq_54708219/article/details/148224187?spm1001.2014.3001.5501 下面我們使用MMdetection開始訓練。 1.創建新的數據集類 首先&#xff0c;在mmdet/d…

VS Code中Maven未能正確讀取`settings.xml`中配置的新路徑

在VS Code中Maven未能正確讀取settings.xml中配置的新路徑&#xff0c;通常是由于以下原因導致的&#xff1a; 一、VS Code未使用你修改的settings.xml文件 VS Code的Maven插件可能使用了默認配置或指向其他settings.xml文件。解決方法&#xff1a; 手動指定settings.xml路徑…

2021年認證杯SPSSPRO杯數學建模A題(第二階段)醫學圖像的配準全過程文檔及程序

2021年認證杯SPSSPRO杯數學建模 A題 醫學圖像的配準 原題再現&#xff1a; 圖像的配準是圖像處理領域中的一個典型問題和技術難點&#xff0c;其目的在于比較或融合同一對象在不同條件下獲取的圖像。例如為了更好地綜合多種信息來辨識不同組織或病變&#xff0c;醫生可能使用…

RPM之(1)基礎使用

RPM之(1)基礎使用 Author: Once Day Date: 2025年5月26日 一位熱衷于Linux學習和開發的菜鳥&#xff0c;試圖譜寫一場冒險之旅&#xff0c;也許終點只是一場白日夢… 漫漫長路&#xff0c;有人對你微笑過嘛… 全系列文章可參考專欄: Linux實踐記錄_Once-Day的博客-CSDN博客 …

國內可做大批量pcb的工廠有哪些?

在電子產業升級浪潮中&#xff0c;PCB作為電子設備的基礎載體&#xff0c;其批量生產能力直接決定著終端產品的市場響應速度與品質穩定性。本文精選五家具備核心競爭力的廠商&#xff0c;從工藝深度、產能規模到服務模式展開剖析&#xff0c;為采購決策提供專業參考。 獵板PCB…

【視頻】使用海康SDK保存的MP4無法在瀏覽器(html5)中播放

1、問題描述 在使用海康 SDK 的 NET_DVR_SaveRealData 接口&#xff0c;將視頻流保存成MP4文件后&#xff0c;通過瀏覽器無法播放MP4&#xff0c;播放其它的MP4正常。 2、原因分析 對比可以正常播放的MP4 和 無法播放的MP4文件&#xff0c;比較它們的詳細信息&#xff0c;發…

AI時代新詞-生成對抗網絡(GAN)

一、什么是生成對抗網絡&#xff08;GAN&#xff09;&#xff1f; 生成對抗網絡&#xff08;Generative Adversarial Network&#xff0c;簡稱GAN&#xff09;是一種由生成器&#xff08;Generator&#xff09;和判別器&#xff08;Discriminator&#xff09;組成的深度學習模…

使用AutoKeras2.0的AutoModel進行結構化數據回歸預測

1、First of All: Read The Fucking Source Code import autokeras as ak import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error# 生成數據集 np.random.seed(42) x np.random.rand(1000, 10) # 生成1…

實戰設計模式之訪問者模式

概述 訪問者模式允許我們在不改變類的前提下&#xff0c;向已有類添加新的功能。簡單來說&#xff0c;就是將算法與對象的數據結構進行分離的一種方法。在實際應用中&#xff0c;當我們需要對一組對象執行一些操作&#xff0c;而這些操作又需要隨著需求的變化而不斷變化時&…

centos7.9使用docker-compose安裝kafka

docker-compose配置文件 services:zookeeper:image: confluentinc/cp-zookeeper:7.0.1hostname: zookeepercontainer_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000kafka:image: confluentinc/cp-kafka:7.0…