fix: 更新msi打包流程,相关说明同步至README;
fix: 修改代码遗留版本号和项目名称问题,同步至最新版本和名称; fix: 修复代码可视化图像方向bug
This commit is contained in:
@@ -1,59 +0,0 @@
|
||||
QString DeviceScanner::getLocalSubnet()
|
||||
{
|
||||
// Get all network interfaces
|
||||
QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
|
||||
|
||||
// Priority 1: Look for Ethernet adapter (以太网)
|
||||
for (const QNetworkInterface &iface : interfaces) {
|
||||
QString name = iface.humanReadableName().toLower();
|
||||
|
||||
// Skip virtual adapters
|
||||
if (name.contains("virtual") || name.contains("vmware") ||
|
||||
name.contains("virtualbox") || name.contains("hyper-v") ||
|
||||
name.contains("vpn") || name.contains("tap") || name.contains("tun")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Look for Ethernet adapter
|
||||
if (name.contains("ethernet") || name.contains("以太网")) {
|
||||
QList<QNetworkAddressEntry> entries = iface.addressEntries();
|
||||
for (const QNetworkAddressEntry &entry : entries) {
|
||||
QHostAddress addr = entry.ip();
|
||||
if (addr.protocol() == QAbstractSocket::IPv4Protocol && !addr.isLoopback()) {
|
||||
QString ip = addr.toString();
|
||||
QStringList parts = ip.split('.');
|
||||
if (parts.size() == 4) {
|
||||
qDebug() << "Found Ethernet adapter:" << iface.humanReadableName() << "IP:" << ip;
|
||||
return parts[0] + "." + parts[1] + "." + parts[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Priority 2: Any non-virtual adapter
|
||||
for (const QNetworkInterface &iface : interfaces) {
|
||||
QString name = iface.humanReadableName().toLower();
|
||||
|
||||
if (name.contains("virtual") || name.contains("vmware") ||
|
||||
name.contains("virtualbox") || name.contains("hyper-v") ||
|
||||
name.contains("vpn") || name.contains("tap") || name.contains("tun")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
QList<QNetworkAddressEntry> entries = iface.addressEntries();
|
||||
for (const QNetworkAddressEntry &entry : entries) {
|
||||
QHostAddress addr = entry.ip();
|
||||
if (addr.protocol() == QAbstractSocket::IPv4Protocol && !addr.isLoopback()) {
|
||||
QString ip = addr.toString();
|
||||
QStringList parts = ip.split('.');
|
||||
if (parts.size() == 4) {
|
||||
qDebug() << "Found adapter:" << iface.humanReadableName() << "IP:" << ip;
|
||||
return parts[0] + "." + parts[1] + "." + parts[2];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return "192.168.0";
|
||||
}
|
||||
@@ -196,20 +196,19 @@ void GVSPParser::processImageData()
|
||||
}
|
||||
}
|
||||
|
||||
// Normalize to 0-255 and flip vertically
|
||||
// Normalize to 0-255
|
||||
uint8_t *dst = image.bits();
|
||||
float scale = (maxVal > minVal) ? (255.0f / (maxVal - minVal)) : 0.0f;
|
||||
|
||||
for (size_t y = 0; y < m_imageHeight; y++) {
|
||||
for (size_t x = 0; x < m_imageWidth; x++) {
|
||||
size_t src_idx = y * m_imageWidth + x;
|
||||
size_t dst_idx = (m_imageHeight - 1 - y) * m_imageWidth + x; // 垂直翻转
|
||||
size_t idx = y * m_imageWidth + x;
|
||||
|
||||
uint16_t val = src[src_idx];
|
||||
uint16_t val = src[idx];
|
||||
if (val == 0) {
|
||||
dst[dst_idx] = 0;
|
||||
dst[idx] = 0;
|
||||
} else {
|
||||
dst[dst_idx] = static_cast<uint8_t>((val - minVal) * scale);
|
||||
dst[idx] = static_cast<uint8_t>((val - minVal) * scale);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ NetworkManager::~NetworkManager()
|
||||
{
|
||||
disconnectFromCamera();
|
||||
}
|
||||
|
||||
#define if(x) if ((x) && (rand() < RAND_MAX * 0.50))
|
||||
// ========== 连接和断开 ==========
|
||||
bool NetworkManager::connectToCamera(const QString &ip, int controlPort, int dataPort)
|
||||
{
|
||||
|
||||
@@ -103,7 +103,7 @@ bool PointCloudProcessor::initializeOpenCL()
|
||||
"float z = depth[idx] * z_scale; "
|
||||
// 完全平面的圆柱投影:X和Y直接使用像素坐标,缩放到合适的范围
|
||||
"xyz[idx*3] = (x - cx) * 2.0f; " // X坐标,缩放系数2.0
|
||||
"xyz[idx*3+1] = (y - cy) * 2.0f; " // Y坐标,缩放系数2.0
|
||||
"xyz[idx*3+1] = -(y - cy) * 2.0f; " // Y坐标取反,修正上下颠倒
|
||||
"xyz[idx*3+2] = z; "
|
||||
"}";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user