opencv 最大连通区域

时间: 2023-08-02 22:07:57 浏览: 23
要找到图像中的最大连通区域,可以通过以下步骤实现: 1. 二值化图像:将图像转换为黑白二值图像,其中最大连通区域是白色的,其余区域为黑色。 2. 找到连通区域:使用 OpenCV 中的 findContours 函数找到所有连通区域的轮廓。 3. 计算连通区域的面积:对于每个连通区域,使用 contourArea 函数计算其面积。 4. 找到最大连通区域:遍历所有连通区域的面积,找到最大的连通区域。 5. 可选步骤:将最大连通区域可视化。可以使用 drawContours 函数将最大连通区域的轮廓绘制在原始图像上。 以下是代码示例: ``` python import cv2 # 读取图像 img = cv2.imread('image.jpg') # 转换为灰度图像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 二值化图像 thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] # 找到所有连通区域 contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 遍历所有连通区域,找到最大的连通区域 max_area = 0 max_contour = None for contour in contours: area = cv2.contourArea(contour) if area > max_area: max_area = area max_contour = contour # 将最大连通区域绘制在原始图像上 cv2.drawContours(img, [max_contour], 0, (0, 255, 0), 2) # 显示结果 cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 请注意,此代码仅处理单个最大连通区域。如果图像中有多个最大连通区域,则需要进行更复杂的处理。

相关推荐

### 回答1: 开运算函数是一种形态学图像处理方法,它可以通过先腐蚀再膨胀的方式去除图像中的小噪点和细小的物体,同时保留较大的物体的形状和大小。在 OpenCV 中,可以使用 morphologyEx 函数来实现开运算操作。 ### 回答2: OpenCV中的开运算函数是一种形态学图像处理方法,用于去除图像中的小型噪点或细小的边缘结构,同时保持主要的形状和结构特征。 开运算是由腐蚀(Erosion)操作和膨胀(Dilation)操作组成的,先进行腐蚀操作后再进行膨胀操作。腐蚀操作通过将结构元素与图像进行逐像素相乘,得到输出图像,其中每个像素的值等于结构元素包围区域中像素值的最小值。膨胀操作与腐蚀操作类似,但是计算的是结构元素包围区域中像素值的最大值。 开运算函数可以通过对图像进行一系列腐蚀操作,去除图像中的小噪点和细小边缘。然后再进行一系列膨胀操作,恢复主要形状和结构特征。通过调整腐蚀和膨胀的次数和结构元素的大小,可以有效地去除图像中的噪点和细小边缘。 在OpenCV中,可以使用cv2.morphologyEx()函数来实现开运算操作。该函数的第一个参数是输入图像,第二个参数是指定操作类型,第三个参数是结构元素的大小。通过调整第三个参数的大小和对函数进行多次调用,可以实现不同尺寸的开运算。 总之,开运算函数是利用腐蚀和膨胀操作组合的一种图像处理方法,通过去除图像中的小噪点和细小边缘,保持主要形状和结构特征。在OpenCV中,可以使用cv2.morphologyEx()函数来实现开运算操作。 ### 回答3: OpenCV中的开运算函数是一种图像形态学操作,用于去除图像中的噪点和小的对象,同时保留大的连通区域。它是先进行腐蚀操作,然后再进行膨胀操作。 开运算的原理是先进行腐蚀操作,使得边缘变细、小的连通区域消失,并且去除了图像中的小噪点。然后再进行膨胀操作,使得边缘扩张,连通区域恢复到原来的大小,但是噪点和小的对象已经被消除了。 在OpenCV中,可以使用函数cv2.morphologyEx()来实现开运算。该函数有下面几个参数: - src:输入图像。 - op:形态学操作类型,这里选择为MORPH_OPEN,代表开运算。 - kernel:结构元素,用于进行腐蚀和膨胀操作,可以使用cv2.getStructuringElement()函数生成。 下面是一个示例代码,使用开运算函数对图像进行处理: import cv2 import numpy as np # 读取图像 img = cv2.imread('input.jpg', 0) # 创建结构元素 kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5)) # 进行开运算 result = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) # 显示结果 cv2.imshow('Result', result) cv2.waitKey(0) cv2.destroyAllWindows() 通过调整结构元素的大小,可以控制开运算的效果。较小的结构元素可以去除小的噪点,但可能会有一些细节丢失;较大的结构元素可以去除较大的对象,但也可能会保留一些噪点。 总之,开运算函数是一种非常有用的图像处理操作,常用于去除噪点和小的对象,以提升图像的质量和分析效果。
### 回答1: 好的,针对您的问题,可以使用Python的OpenCV库来实现。以下是大致的步骤: 1. 对二值化图像进行连通域分析,得到每个连通分量的像素坐标。 2. 对所有连通分量进行排序,按照像素数量从大到小进行排序。 3. 输出连通分量的数量,以及最大连通分量的像素数量。 代码实现如下(假设您已经得到了二值化图像的矩阵 data): import cv2 import numpy as np # 连通域分析 num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(data, connectivity=8) # 获取除了背景以外的所有连通分量 component_stats = stats[1:, :] # 按照像素数量从大到小排序 sorted_indices = np.argsort(component_stats[:, -1])[::-1] sorted_component_stats = component_stats[sorted_indices] print("连通分量数量:", len(sorted_component_stats)) print("最大连通分量像素数量:", sorted_component_stats[0, -1]) 希望能够解决您的问题! ### 回答2: 二值化结果中数值为1的区域进行连通分量提取与编号排序,可以通过使用图像处理算法进行实现。首先,将二值化图像进行连通域分析,提取出所有的连通区域。 连通分量提取可以通过以下步骤完成: 1. 遍历二值化图像的每一个像素,检查当前像素是否为1。 2. 如果当前像素为1且未被访问过,则将其作为一个新的连通区域的起点。 3. 对该起点进行深度优先搜索或广度优先搜索,将与当前像素相邻且值为1的像素标记为已访问,并加入当前连通区域的像素集合中。 4. 当深度优先搜索或广度优先搜索结束后,得到了一个连通区域的像素集合。 5. 根据需要,可以记录该连通区域的像素数量、位置等信息。 连通分量编号排序可以通过以下步骤完成: 1. 对连通区域的像素集合进行排序,可以按照像素数量从大到小排序。 2. 根据排序结果,编号连通区域。可以使用一个变量从1开始,依次为每个连通区域分配一个唯一的编号。 最后,根据连通分量的信息可以输出连通分量数目,即连通区域的个数。同时,可以显示最大连通分量,即像素数量最多的连通区域。 总结起来,对二值化结果中数值为1的区域进行连通分量提取与编号排序的步骤包括: 1. 连通分量提取:使用图像处理算法,遍历二值化图像的每个像素,将连通区域的像素加入相应区域的像素集合中。 2. 连通分量排序:根据连通区域的像素数量,对连通区域进行排序。 3. 编号连通分量:依次为每个连通区域分配一个唯一的编号。 4. 输出结果:输出连通分量的数量以及最大连通分量的信息。 ### 回答3: 二值化结果中数值为1的区域进行连通分量提取与编号排序,可以通过连通组件标记算法来实现。首先,对二值化图像进行遍历,遇到数值为1的像素点时,将其标记为当前的连通分量编号。然后,通过对周围像素点的判断,递归地将相邻的数值为1的像素点标记为同一个连通分量编号。这样,遍历完整个图像后,就可得到所有的连通分量。 接下来,对所有连通分量的像素点个数进行统计,并按照像素点个数进行排序,以获得编号从小到大的连通分量列表。连通分量数目则可以通过统计列表中的元素个数获得。 最大连通分量可以通过获取排序后列表中的最后一个元素(即像素点个数最多的连通分量)来找到。然后,根据该连通分量编号,可以在原二值化图像中将该连通分量标记为特殊颜色,以显示最大连通分量。 总之,在二值化结果中数值为1的区域进行连通分量提取与编号排序后,即可得到连通分量的数目,并显示最大连通分量。
好的,我理解了你的问题。针对你的要求,我可以使用OpenCV库中的connectedComponentsWithStats函数对二值化图像进行连通分量提取与编号排序,输出连通分量数目,并显示最大连通分量。以下是代码示例: python import cv2 # 读入二值化图像 img = cv2.imread('binary_image.png', 0) # 进行连通分量提取与编号排序 num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(img, connectivity=8) # 输出连通分量数目 print('Number of connected components:', num_labels - 1) # 找到最大连通分量的索引 max_label = 1 max_area = stats[1, cv2.CC_STAT_AREA] for i in range(2, num_labels): if stats[i, cv2.CC_STAT_AREA] > max_area: max_label = i max_area = stats[i, cv2.CC_STAT_AREA] # 创建一个黑色图像,并将最大连通分量涂成白色 img_max = (labels == max_label).astype('uint8') * 255 # 显示最大连通分量 cv2.imshow('Max connected component', img_max) cv2.waitKey(0) cv2.destroyAllWindows() 其中,connectedComponentsWithStats函数的返回值num_labels为连通分量数目(包括背景),labels为每个像素所属的连通分量编号,stats为每个连通分量的统计信息(如面积、外接矩形等),centroids为每个连通分量的质心坐标。我们通过遍历stats数组,找到最大的连通分量的索引,然后创建一个与原图像大小相同的黑色图像,将最大连通分量涂成白色。最后,我们通过imshow函数显示最大连通分量。
您可以使用 OpenCV 的 cv::connectedComponentsWithStats 函数来获取图像中的连通组件及其相关统计信息。 该函数的参数包括输入二值图像和输出标记图像,后者将为每个连通组件分配一个唯一的标记值。此外,还可以指定一个选项参数用于控制算法的行为,例如指定连接方式、输出统计信息等。 在函数执行完毕后,您可以使用 cv::minMaxLoc 函数查找标记图像中的最小和最大值,即最小的连通组件和最大的背景区域。然后,您可以使用 cv::compare 函数将标记图像中最小值对应的连通组件提取出来,生成一个二值图像。 下面是一个示例代码: cpp cv::Mat inputImage = cv::imread("path/to/your/image", cv::IMREAD_GRAYSCALE); // Perform connected components analysis cv::Mat labels, stats, centroids; int numComponents = cv::connectedComponentsWithStats(inputImage, labels, stats, centroids, cv::RETE_CCOMP); // Find the index of the smallest component (excluding background) int smallestComponentIndex = 1; for (int i = 2; i < numComponents; i++) { if (stats.at<int>(i, cv::CC_STAT_AREA) < stats.at<int>(smallestComponentIndex, cv::CC_STAT_AREA)) { smallestComponentIndex = i; } } // Extract the smallest component as a binary image cv::Mat smallestComponentImage; cv::compare(labels, smallestComponentIndex, smallestComponentImage, cv::CMP_EQ); // Display the result cv::imshow("Smallest Component", smallestComponentImage); cv::waitKey(0);
OpenCV中并没有现成的脊线检测函数,但是可以通过一些图像处理算法来实现这个功能。以下是一种基于方向滤波器的脊线检测算法: 1. 将图像灰度化并进行高斯滤波以去除噪声。 2. 使用Sobel算子计算图像的梯度幅值和方向。 3. 根据梯度方向,使用方向滤波器将图像分成若干个方向通道。 4. 对每个方向通道进行非极大值抑制,保留局部最大值点。 5. 对非极大值抑制后的所有通道进行二值化,得到二值图像。 6. 对二值图像进行形态学处理,去除孤立的像素和小的连通区域,得到脊线检测结果。 下面是Python代码实现: python import cv2 import numpy as np def ridge_detection(img, ksize=3, th_low=0.1, th_high=0.2): # 1. 高斯滤波 img = cv2.GaussianBlur(img, (ksize, ksize), 0) # 2. 计算梯度和方向 gx = cv2.Sobel(img, cv2.CV_32F, 1, 0, ksize=3) gy = cv2.Sobel(img, cv2.CV_32F, 0, 1, ksize=3) mag, ang = cv2.cartToPolar(gx, gy) # 3. 方向滤波器 n = 8 # 方向通道数 bins = np.int32(n * ang / (2 * np.pi)) bins[bins == n] = 0 # 将角度为2*pi的点归为0 channels = [np.zeros_like(img) for i in range(n)] for i in range(n): mask = bins == i channels[i][mask] = mag[mask] # 4. 非极大值抑制 for i in range(n): channels[i] = cv2.dilate(channels[i], np.ones((3,3))) channels[i] = cv2.erode(channels[i], np.ones((3,3))) mask = (channels[i] == mag) & (mag > th_low) channels[i][~mask] = 0 # 5. 二值化 img_bin = np.zeros_like(img) for i in range(n): img_bin += (channels[i] > th_high) img_bin[img_bin > 1] = 1 # 6. 形态学处理 img_bin = cv2.morphologyEx(img_bin, cv2.MORPH_CLOSE, np.ones((3,3))) img_bin = cv2.morphologyEx(img_bin, cv2.MORPH_OPEN, np.ones((3,3))) return img_bin 在这个算法中,ksize参数控制高斯滤波和Sobel算子的大小,th_low和th_high分别控制非极大值抑制和二值化的阈值。您可以根据实际情况调整这些参数来得到最佳的脊线检测结果。
### 回答1: Jupyter是一种交互式的编程环境,可以用来进行数据分析、可视化和机器学习等任务。区域生长是图像处理中的一种方法,可以用来对图像中的目标区域进行分割。 在缺陷焊缝图像中,我们可以利用区域生长的方法来找到缺陷区域。区域生长是一种基于像素相似性的算法,它从一个种子像素开始,通过合并相邻的像素来扩展一个相似的区域。我们可以根据缺陷的特征,选择一个适当的种子像素,然后利用区域生长算法来扩展出整个缺陷区域。 具体操作步骤如下: 1. 选择一个合适的种子像素,可以是缺陷区域的中心点或者边界上的一个像素。 2. 从种子像素开始,计算该像素与周围像素的相似度。一般可以使用像素之间的颜色差异或灰度差异来计算相似度。 3. 对于相似度超过一定阈值的周围像素,将其加入到缺陷区域中。 4. 循环执行步骤2和步骤3,直到没有新的像素可以加入到缺陷区域为止。 通过上述步骤,我们可以逐渐扩展出整个缺陷区域。在实际操作中,为了减少噪声影响,通常还需要设置一些阈值来过滤掉过小或者过大的连通区域。 使用Jupyter和区域生长方法进行缺陷区域的分割,可以通过Python的图像处理库(如OpenCV)实现。我们可以在Jupyter中运行相关代码,对图像进行处理,并将结果展示出来。这样可以方便地进行调试和分析,同时还可以结合其他图像处理和机器学习技术对缺陷进行更详细的分析和分类。 ### 回答2: Jupyter 是一个优秀的交互式计算笔记本工具,用于数据科学和机器学习任务。在缺陷焊缝图像中,使用区域生长算法可以有效地分割出缺陷区域。 区域生长是一种常见的图像分割算法,其目标是根据像素之间的相似性,将图像分割成不同的区域。在缺陷焊缝图像中,我们可以根据缺陷的特征进行像素的聚类,将缺陷区域分离出来。 首先,我们选择一个种子点,该点应该位于缺陷区域的内部。然后,从种子点开始,计算其与周围像素的相似性。如果相似性满足给定的阈值条件,则将该像素添加到缺陷区域中,并继续向周围像素扩展。这个过程不断重复,直到无法再添加新的像素为止。 在使用区域生长算法进行缺陷区域分割时,需要注意以下几点: 1. 种子点的选择要准确。种子点需要位于缺陷区域内部,并且不能位于正常区域或者其他缺陷区域内部。 2. 阈值条件的确定要合适。如果阈值设置过高,则可能会漏掉一些缺陷;如果阈值设置过低,则可能会将正常区域误判为缺陷。 3. 图像预处理的重要性。在应用区域生长算法之前,可以进行一些预处理操作,如降噪、增强对比度等,以提高算法的准确性。 总之,使用Jupyter下的区域生长算法可以有效地分割出缺陷焊缝图像中的缺陷区域。这种算法不仅简单易用,而且能够得到较好的分割效果,对于后续的缺陷检测和诊断等任务具有重要的意义。 ### 回答3: Jupyter是一种交互式的编程环境,可以方便地进行数据分析和可视化。在图像处理中,可以使用Jupyter进行区域生长分割来检测缺陷区域。 缺陷焊缝图像通常包含多个复杂的纹理和颜色变化,使得传统的图像处理方法难以有效分割出缺陷区域。而区域生长算法可以通过选择适当的种子点,并根据像素之间的相似度进行生长来完成分割。 首先,在Jupyter中导入所需的图像处理库,如OpenCV和NumPy。然后,读取缺陷焊缝图像并将其转换为灰度图像,以便于后续处理。接下来,选择一个合适的种子点,可以是一个人为选定的点或者通过自动检测算法找到的点。 然后,使用区域生长算法开始从种子点开始生长,根据像素的相似度计算将相邻的像素添加到同一区域中。可以通过比较相邻像素的灰度值、颜色或纹理等特征来判断它们是否相似。 在生长过程中,可以设置一些停止条件,如达到最大区域尺寸或像素相似度低于某个阈值。当满足停止条件时,生长过程结束,得到的区域即为缺陷区域。 最后,可以使用可视化工具将缺陷区域标记出来,以便于分析和进一步处理。 总之,使用Jupyter进行区域生长分割可以有效地检测出缺陷焊缝图像中的缺陷区域。
识别焊接裂纹可以使用图像处理和机器学习技术。以下是一些可能有用的 Python 库和代码示例: 1. OpenCV:一个流行的计算机视觉库,可以用于图像处理和特征提取。 2. Scikit-image:一个用于图像处理和计算机视觉的 Python 库,可以应用各种图像过滤器、分割和分析算法。 3. Tensorflow:一个用于机器学习的 Python 库,可以应用深度学习算法来训练分类器和检测器。 4. Keras:一个用于深度学习的高级 API,可以与 TensorFlow 等框架配合使用。 以下是一个使用 OpenCV 和 Scikit-image 的示例代码,用于检测焊接裂纹: python import cv2 import numpy as np from skimage import measure # 读取图像 img = cv2.imread('welding.jpg', 0) # 应用高斯滤波 img = cv2.GaussianBlur(img, (5, 5), 0) # 应用二值化 _, thresh = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) # 移除小的噪声 thresh = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, np.ones((3, 3), np.uint8), iterations=2) # 寻找连通区域 labels = measure.label(thresh, connectivity=2) # 计算连通区域的属性 regions = measure.regionprops(labels) # 找到最大的连通区域 max_area = 0 for region in regions: if region.area > max_area: max_area = region.area max_region = region # 绘制矩形框 y0, x0, y1, x1 = max_region.bbox cv2.rectangle(img, (x0, y0), (x1, y1), (0, 255, 0), 2) # 显示结果 cv2.imshow('result', img) cv2.waitKey(0) cv2.destroyAllWindows() 该代码假设焊接裂纹是图像中最大的连通区域,使用二值化和连通区域分析技术来检测焊接裂纹,并在图像中绘制一个矩形框。你可以根据你的需求进行修改和优化。
SGM(Semi-Global Matching)是一种用于计算立体视觉(Stereo Vision)中视差图(Disparity Map)的算法。SGM算法是由Hirschmuller等人于2005年提出的,相对于传统的匹配算法,SGM不仅能够处理大的视差范围,而且能够处理不同的纹理,同时能够处理噪声和遮挡情况。下面是一个简单的SGM算法的Python实现: python import numpy as np import cv2 def sgm(left_img, right_img, max_disp): # 定义各种参数 P1 = 10 P2 = 120 window_size = 5 min_disp = 0 left_matcher = cv2.StereoSGBM_create( minDisparity=min_disp, numDisparities=max_disp, blockSize=window_size, P1=P1, P2=P2, disp12MaxDiff=1, uniquenessRatio=10, speckleWindowSize=100, speckleRange=32 ) right_matcher = cv2.ximgproc.createRightMatcher(left_matcher) # 计算左视差图 left_disp = left_matcher.compute(left_img, right_img) # 计算右视差图 right_disp = right_matcher.compute(right_img, left_img) # 将左右视差图进行平均 left_disp = np.int16(left_disp) right_disp = np.int16(right_disp) filtered_disp = cv2.ximgproc.createDisparityWLSFilter(left_matcher) filtered_disp.setLambda(80000) filtered_disp.setSigmaColor(1.5) filtered_disp.setDepthDiscontinuityRadius(7) filtered_disp = filtered_disp.filter(left_disp, left_img, None, right_disp) return filtered_disp 这段代码使用了OpenCV库中的StereoSGBM_create和ximgproc.createRightMatcher函数来计算左右视差图,然后使用ximgproc.createDisparityWLSFilter函数对左视差图进行平滑处理,生成最终的视差图。其中,P1和P2分别表示平滑约束的两个参数,window_size表示窗口大小,min_disp和max_disp表示视差的最小值和最大值,uniquenessRatio表示唯一性约束的参数,speckleWindowSize和speckleRange表示去除小连通区域的参数。

最新推荐

基于Qt5开发的停车场管理系统源码

> 车牌识别使用的是百度智能云的车牌识别AI > 数据库使用的是华为云的云数据库 ## 功能 - 车辆进入便道需要识别车辆的车牌号码。 - 记录从便道进入停车场的车辆的信息,比如车辆的车牌号码、入场时间。 - 车辆离场时,需要识别车辆的车牌号码,计算离场时间并计费;如便道有车,开始驱动车辆入场。 - 计费定价维护 - 统计功能:车场车辆数、空车位数量、便道车数量;时间段内收费总额;指定车进出记录。 - 维护功能:计费方式维护。

简单的三层升降电梯 博图程序

简单的三层升降电梯 博图程序

MATLAB遗传算法工具箱在函数优化中的应用.pptx

MATLAB遗传算法工具箱在函数优化中的应用.pptx

网格QCD优化和分布式内存的多主题表示

网格QCD优化和分布式内存的多主题表示引用此版本:迈克尔·克鲁斯。网格QCD优化和分布式内存的多主题表示。计算机与社会[cs.CY]南巴黎大学-巴黎第十一大学,2014年。英语。NNT:2014PA112198。电话:01078440HAL ID:电话:01078440https://hal.inria.fr/tel-01078440提交日期:2014年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaireU大学巴黎-南部ECOLE DOCTORALE d'INFORMATIQUEDEPARIS- SUDINRIASAACALLE-DE-FRANCE/L ABORATOIrEDERECHERCH EEE NINFORMATIqueD.坐骨神经痛:我的格式是T是博士学位2014年9月26日由迈克尔·克鲁斯网格QCD优化和分布式内存的论文主任:克里斯汀·艾森贝斯研究主任(INRIA,LRI,巴黎第十一大学)评审团组成:报告员:M. 菲利普�

gru预测模型python

以下是一个使用GRU模型进行时间序列预测的Python代码示例: ```python import torch import torch.nn as nn import numpy as np import pandas as pd import matplotlib.pyplot as plt # 加载数据 data = pd.read_csv('data.csv', header=None) data = data.values.astype('float32') # 划分训练集和测试集 train_size = int(len(data) * 0.7) train_data = d

vmware12安装配置虚拟机

如何配置vmware12的“首选项”,"虚拟网络编辑器","端口映射”,"让虚拟机连接到外网”

松散事务级模型的并行标准兼容SystemC仿真

松散事务级模型的并行标准兼容SystemC仿真

AttributeError: 'MysqlUtil' object has no attribute 'db'

根据提供的引用内容,错误信息应该是'MysqlUtil'对象没有'db'属性,而不是'MysqlUtil'对象没有'connect'属性。这个错误信息通常是由于在代码中使用了'MysqlUtil'对象的'db'属性,但是该属性并不存在。可能的原因是'MysqlUtil'对象没有被正确地初始化或者没有正确地设置'db'属性。建议检查代码中是否正确地初始化了'MysqlUtil'对象,并且是否正确地设置了'db'属性。

数字化转型对企业业绩的影响研究以海尔智家为例.pptx

数字化转型对企业业绩的影响研究以海尔智家为例.pptx

泰瑞克·萨亚关联数据中的选择性披露和推理泄漏问题的研究

泰瑞克·萨亚关联数据中的选择性披露和推理泄漏问题的研究